Home / Guides / Lens
QA / QC panel

BIMIO Lens

Dockable panel that inspects whatever you select and records the model's change history at every synchronisation.

Overview

Lens is BIMIO's X-ray panel: a dockable palette that refreshes itself with every selection and shows you what Revit's Properties palette leaves out. For the element, view or sheet you have selected, it displays its full identity (category, family, type, id), who created it, who last changed it and who currently owns it, all of its parameters (including hidden and read-only ones, with labels indicating their origin) and in which views it is hidden or has its appearance manipulated with overrides.

Beyond inspecting, Lens records history. In workshared models (with worksets), the first synchronisation with the central model creates a baseline of the model and, from then on, every synchronisation compares the model against that reference and stores in a local SQLite database what was created, what was modified and what was deleted, with user, date, parameter and previous and new values. The result is a queryable history with a search box, Excel-style filters and pagination, without ever touching the model or the central.

For forensic work, Lens can recreate temporary ghosts: a red box where a deleted element used to be, or an orange box at the previous position of an element that was moved or resized. Ghosts clean themselves up before every synchronisation so they never reach the central model by accident. And when you need to share your findings, one click exports a self-contained HTML report with activity charts, a user ranking, a filterable inventory and the record card of the inspected element.

Who it's for

BIM managers and coordinators who need to audit who changed what and when in a shared model, and architects or modellers who want to see at a glance the hidden parameters, authorship and visibility tricks of any element.

Requirements

  • Revit 2022 to 2026 with the BIMIO suite installed (Lens loads together with the rest of the tools on the BIMIO tab).
  • For history recording, live activity and deleted elements: a workshared model (with worksets) synchronised with a central model. Non-workshared models and family documents can be inspected, but they do not generate history.
  • Local disk space for the history databases (one per project, in the user's application data folder).
  • Automatic selection refresh is instantaneous in Revit 2024 and later; Revit 2022 and 2023 use polling at roughly 250 ms.

Where to find it

BIMIO tabQA / QC panelLens button

The button shows the Lens dockable panel, which docks on the right-hand side of Revit by default; to hide it, close it with the panel's own X. You can move it, stack it with other palettes or leave it floating like any Revit panel.

The panel is registered when Revit starts; if you have just installed the suite and the button warns that the panel is not registered, restart Revit.

Key concepts 8 terms

Baseline
Initial snapshot of every tracked element in the model. It is created automatically at each project's first synchronisation with the central model (it can take 30 to 60 seconds in large models) and serves as the reference for calculating the changes of subsequent synchronisations. It appears in the history as the Baseline action.
History
The project's change log, stored in a local SQLite database. Each synchronisation with the central model compares the model against the baseline and adds Created, Modified or Deleted rows with user, date, category, parameter and previous and new values.
Scope (Project / Element / Type)
Header selector that decides what the history and the inspector show: Project shows the latest changes across the whole project; Element, those of the selected element (or of the active view if nothing is selected); Type re-points the inspection and the history at the selected element's type, with its type parameters.
Ghost
Temporary box-shaped marker that Lens draws in the model: red to mark where a deleted element used to be and orange for the previous position of an element that was moved or resized. It is a real model element, but it is removed automatically before every synchronisation and when the document is closed, unless you tick the one-off sharing checkbox.
Auto-propagated
A change that Revit recalculates on its own as a side effect of another edit (a room's area when someone moves a wall, a pipe's length when its end is displaced). By default these rows are hidden from the history to reduce noise; they are shown with the Show auto-propagated checkbox.
Live activity
Optional watcher that polls the central model at regular intervals (30 seconds by default) and shows in a feed what other users are editing in near real time: who is editing, who is releasing, who is synchronising. It is switched on with the Track pill and stores its events in the same local database.
Visibility tricks
Situations where an element cannot be seen or looks odd: hidden by element in a view, with graphic overrides, with its category switched off, or affected by view filters that hide or tint it. The Visibility section detects them for the selected element, and the Scan all tricks button sweeps the entire model.
Grouped operation
When a single action affects N elements in one synchronisation (for example, deleting 18 walls), the history collapses it into a parent row with the Show N elements link, which expands on demand into the individual rows.

The interface

The panel is a column with a fixed header at the top and scrollable content below. The header contains the Project / Element / Type scope selector, the Export HTML button and a collapsible General Info block with the identity and authorship of the current target. Below it, in order, four blocks are stacked: Live activity (a feed of other users' activity, with its Track pill), History (the change history with a search box and filters, with its Record pill), Deleted Elements (a dedicated list of deletions) and the selection inspector with Overview, Visibility and Parameters sections.

Everything works through collapsible expanders; the four main blocks (General Info, Live activity, History and Deleted Elements) remember their state between sessions. The panel reacts on its own: when the selection changes the target is re-inspected, when you synchronise the history refreshes, and when you switch documents the whole context is reloaded.

The Lens panel docked on the right of Revit with a wall selected: header with the Project/Element/Type selector and Export HTML, the General Info block open with category, family, type, id and authorship, and below it the Live activity expander, History with change rows grouped by synchronisation, Deleted Elements and the wall's Overview, Visibility and Parameters sections.
assets/shots/lens/fig-02.pngThe Lens panel docked on the right of Revit with a wall selected: header with the Project/Element/Type selector and Export HTML, the General Info block open with category, family, type, id and authorship, and below it the Live activity expander, History with change rows grouped by synchronisation, Deleted Elements and the wall's Overview, Visibility and Parameters sections.
The Lens panel docked on the right of Revit with a wall selected: header with the Project/Element/Type selector and Export HTML, the General Info block open with category, family, type, id and authorship, and below it the Live activity expander, History with change rows grouped by synchronisation, Deleted Elements and the wall's Overview, Visibility and Parameters sections.
Fixed header (scope + Export)Segmented Project / Element / Type control that sets the scope of the history and the inspector, plus the Export HTML button that generates the report. Below it, the General Info expander shows Category, Family, Type (or Number for sheets), Name, the selectable Instance Id (click and Ctrl+C to copy) and the authorship line C: creator, LC: last changed by, O: current owner. The expander starts collapsed to save space.
Live activityChronological feed (newest at the top) of other users' activity on the central model: time, user with their colour, verb (editing, released, took over, changed, synced) and the affected element with a button to copy its id. Above it, chips showing the users active right now. In the header, the Track pill switches the watcher on and off and a cog opens the settings popover (polling interval, activity window, hide me from the feed, scan the whole model). A Show more button reveals older events.
HistoryChange history grouped by synchronisation: each group has a header with relative date, user and number of changes (today's groups come expanded). It includes an instant search box with key:value syntax, a Filters expander with the Show auto-propagated checkbox, User, Category and Action drop-downs with counters, a date range and the Deleted only, Restore all and Clear all shortcuts. Each row may offer Show (frames the live element), Zoom (navigates to where a deleted element used to be) or Recreate (orange ghost of the previous position). A Record pill in the header pauses recording, and a Show more button paginates.
Deleted ElementsDedicated list of every recorded deletion, grouped by synchronisation, with its own search box and pagination in batches of 20. Each row states what the element was, who deleted it and when, and offers the Recreate button, which zooms in and recreates a red ghost where it used to be (once the ghost is created, the button changes to Show and only navigates to it). When there are active ghosts, a notice appears with the counter, the Finish inspection button and the Keep markers on next Sync checkbox.
Selection inspectorSections for the current target: Overview (what it is, where it is, who owns it), Visibility (in which views it is hidden, has overrides, has its category switched off or is affected by filters; its header includes the Scan all tricks button to sweep the entire model) and Parameters (all parameters grouped first by Instance/Type and then by Revit group, with a counter per group, a Filter parameters search box and INS, TYP, BLT, PRJ, FAM, SHD and RO pills indicating each parameter's scope and origin). For sheets and views, sheet- or view-specific sections appear. With a multiple selection, an aggregated summary by category, type, workset and last editor is shown.

Step-by-step workflows 9 workflows

1

Open the panel and start inspecting

4 steps

Goal. Have Lens docked and see the complete record card of any element in one click.

  1. Click the Lens button on the BIMIO tab, QA / QC panel.The dockable panel appears on the right-hand side of Revit. You can drag it, stack it with Properties or leave it floating.
    The Revit ribbon with the BIMIO tab open and the cursor over the Lens button in the QA / QC panel.
    assets/shots/lens/fig-03.pngThe Revit ribbon with the BIMIO tab open and the cursor over the Lens button in the QA / QC panel.
  2. Select an element, a view or a sheet in the model.The panel refreshes itself with every selection: there is no refresh button. If you select nothing, Lens inspects the active view.
  3. Check the header and expand General Info to see identity and authorship.Category, Family, Type, Name and Instance Id (selectable, copy with Ctrl+C), plus the line C: (creator), LC: (last changed by) and O: (current owner of the element in worksharing).
    The General Info block expanded showing category, family, type, id and the C / LC / O authorship line.
    assets/shots/lens/fig-04.pngThe General Info block expanded showing category, family, type, id and the C / LC / O authorship line.
  4. Open the Overview, Visibility and Parameters sections as needed.Overview summarises what it is and where it is; Visibility lists in which views it is hidden or manipulated; Parameters shows every parameter with its origin labels.
Result. A complete, always up-to-date record card of the selected target, without opening dialogs or trawling through the Properties palette.
  • If you select several elements at once, Lens shows an aggregated summary with counts by category, type, workset and last editor.
  • The expanded or collapsed state of the main blocks (General Info, Live activity, History and Deleted Elements) is saved and restored in the next session.
2

Explore an element's hidden parameters

4 steps

Goal. See every parameter of the element, including the ones Revit does not show, and understand where each one comes from.

  1. Select the element and expand the Parameters section.Parameters are grouped first into instance and type blocks (type ones are titled Type · Group) and within those by Revit parameter group, each with its counter.
    The Parameters section with the collapsible groups and each group's parameter counter.
    assets/shots/lens/fig-05.pngThe Parameters section with the collapsible groups and each group's parameter counter.
  2. Type in the Filter parameters box to find a parameter by name or value.Filtering is instant and acts on the parameters already loaded; groups with no matches are hidden.
  3. Read the pills on each row to learn the parameter's scope and origin.INS instance, TYP type, BLT Revit built-in, PRJ project parameter, FAM family parameter, SHD shared and RO read-only.
  4. Switch the scope to Type in the header if you want to inspect the type rather than the instance.The inspector and the history switch to describing the selected element's type (its type parameters and its changes). Switch back to Element to return to the instance.
Result. Read-only access to the full list of parameters of the element or of its type, with the origin of each one identified at a glance.
  • Empty parameters are hidden by default to reduce noise; the important ones (Mark, Comments and the like) are always shown even when empty.
  • Lens does not edit values: to modify a parameter, use Revit's Properties palette.
3

Start recording history

4 steps

Goal. Create the project baseline and start accumulating change history at every synchronisation.

  1. Open a workshared model (saved as a central model or as a local copy of one).Models without worksets do not generate history in this version: the panel will work as an inspector, but History will remain empty.
  2. Check that the Record pill in the History header is switched on (it shows a tick).It is on by default. It is the master switch for recording changes at synchronisations.
  3. Synchronise with the central model as you normally would.At a project's first synchronisation, Lens builds the baseline: it scans the tracked elements and stores their state. In large models this can take 30 to 60 seconds.
  4. Keep working and synchronising; check History after each synchronisation.From the second synchronisation onwards, each one adds Created, Modified and Deleted rows by comparing against the baseline. The panel's history refreshes itself when each synchronisation finishes.
    The History section with today's synchronisation group expanded showing change rows with user and time.
    assets/shots/lens/fig-06.pngThe History section with today's synchronisation group expanded showing change rows with user and time.
Result. A local history database per project that grows with every synchronisation, queryable from the panel at any time.
  • During heavy restructuring, switch Record off: intermediate synchronisations will not be recorded and, when you switch it back on, the next synchronisation will capture the clean net delta against the old baseline.
  • Noisy categories (sketch lines, cameras) and the Edited by parameter are excluded by default to keep the history readable.
4

Query and filter the change history

6 steps

Goal. Answer questions such as who changed what, when and on which element, using the search box and the filters.

  1. Expand History and choose the scope in the header: Project for the whole project, Element for the selected element (or the active view).In project scope, 50 rows are loaded per page; in Element and Type, 20. The history is grouped by synchronisation, with today's groups expanded.
    The History expander open with the search bar, the Filters expander and several synchronisation groups.
    assets/shots/lens/fig-07.pngThe History expander open with the search bar, the Filters expander and several synchronisation groups.
  2. Type in the search box to filter instantly.It accepts free text and key:value tokens: user:javier, category:Walls (or cat:), family:Modular, type:RKD, param:Mark, id:123456, action:Created|Modified|Deleted|Baseline and date:today, date:yesterday, date:2026-06-15, date:2026-06 or date:2026. The search is applied after a typing pause of roughly 150 ms.
  3. Open the Filters expander to narrow down with Excel-style checkboxes.Three drop-downs (User, Category, Action) with the row count for each option; untick options to exclude them. The counters in the other columns are recalculated based on what you leave ticked. Add a date range with the From and To pickers.
    The Filters expander with the User, Category and Action drop-downs and the date range.
    assets/shots/lens/fig-08.pngThe Filters expander with the User, Category and Action drop-downs and the date range.
  4. Use the Deleted only, Restore all and Clear all shortcuts as needed.Deleted only leaves only the Deleted action ticked (a one-click deletion audit); Restore all ticks everything again; Clear all unticks everything.
  5. Tick Show auto-propagated if you also want to see Revit's automatic recalculations.By default, rows where Revit recalculated a parameter (room area, pipe length) as a side effect of editing another element are hidden.
  6. Expand grouped operations and navigate from the rows.Show N elements rows expand into the individual elements (with their own pagination). A row's Show button frames and selects the live element; Zoom, on a deleted element's row, takes the view to where it used to be without creating a ghost. Click Show more at the bottom to load the next page.
Result. The exact list of changes you were after, with author, date, parameter and previous and new values, and direct navigation to the affected element.
  • In Element scope, if the target has no recorded rows yet you will see the message No data for this element: the history only starts to exist from the baseline and subsequent synchronisations.
  • If the Live activity watcher is switched on, some synchronisation headers may show the possible auto note: the attributed author did not appear to be active at the time and the changes could be auto-propagations.
5

Audit deletions and see where deleted items used to be

6 steps

Goal. Find out what has been deleted from the model, who did it, and visualise the exact location with a temporary ghost.

  1. Expand the Deleted Elements section.The first time you open it, the recorded deletions are loaded, grouped by synchronisation and paginated in batches of 20. If it is empty, remember that deletions are recorded when you synchronise.
    The Deleted Elements section with rows of deleted elements: what each one was, who deleted it and when.
    assets/shots/lens/fig-09.pngThe Deleted Elements section with rows of deleted elements: what each one was, who deleted it and when.
  2. Filter with the Search deletions box if you are looking for something specific.Search by id, category, family, user or notes (the room, level or host where the element used to be).
  3. Click Recreate on the row you are interested in.The active view zooms to the element's last known position and a red ghost appears (a box filling its volume) with an identifying comment: category, family, type, id, who deleted it and when. For walls and linear elements the ghost is oriented along their axis; for lines the curve itself is recreated.
    A Revit view with a semi-transparent red ghost marking the gap left by a deleted wall, and the active markers notice in the panel.
    assets/shots/lens/fig-10.pngA Revit view with a semi-transparent red ghost marking the gap left by a deleted wall, and the active markers notice in the panel.
  4. Repeat with as many rows as you need; the panel notice keeps count of the active ghosts.Once a row has a ghost, its button changes from Recreate to Show and only navigates to it.
  5. When you have finished, click Finish inspection to remove all the ghosts.If you forget, no harm done: ghosts are cleaned up automatically before every synchronisation and when the document is closed, so they never reach the central model.
  6. Only if you want to share the ghosts with the team, tick Keep markers on next Sync before synchronising.It is a one-off authorisation: the next synchronisation will send them to the central model and the checkbox unticks itself so they do not stay shared for ever.
Result. A visual location and full identification of every deleted element, with guaranteed automatic clean-up of the markers.
  • The Deleted only shortcut in History's Filters expander is another quick route for auditing deletions with all the filters available.
  • Bulk deletions are shown element by element in this section, even though in History they appear grouped into a single operation.
6

Recreate the previous position of a moved element

3 steps

Goal. See where an element was before someone moved or resized it.

  1. In History, find the row for the geometric change (moved or resized).Use the search box or the filters to track it down; only rows that stored the previous geometry offer this action.
  2. Click Recreate on the row.Lens draws an orange ghost with the element's box at its previous position, zooms to it, and the button changes to Show. The ghost carries a comment with the element's identity and the previous-position note.
    A view with the element in its current position and an orange ghost marking where it was before the change.
    assets/shots/lens/fig-11.pngA view with the element in its current position and an orange ghost marking where it was before the change.
  3. Compare positions and, when you are done, click Finish inspection in History's orange notice.That button clears only the orange ghosts; the red ones for deleted elements have their own notice in Deleted Elements. Like the red ones, they clean themselves up before synchronising and on closing.
Result. An immediate visual comparison between the element's current and previous positions, without undoing anything or touching the model permanently.
  • The Keep markers on next Sync checkbox also works with the orange ghosts if you need the team to see them once.
7

Follow the team's activity live

4 steps

Goal. Know what the other users of the central model are editing right now without waiting for the next synchronisation.

  1. Expand Live activity and click the Track pill.The watcher starts polling the central model (every 30 seconds by default) and the pill shows a tick. The state is remembered between sessions.
    The Live activity expander with the Track pill switched on, active user chips and several event rows.
    assets/shots/lens/fig-12.pngThe Live activity expander with the Track pill switched on, active user chips and several event rows.
  2. Watch the active user chips and the event feed.Each row shows the time, the user with their colour, the verb (editing, released, took over, changed, synced) and the affected element. For multi-element events, expand Show N elements to see them one by one; the copy button puts the id on the clipboard.
  3. Adjust the behaviour with the cog in the header.The popover offers: Hide me from the feed (hide your own activity, on by default), Pulse interval (polling interval, 10 to 120 seconds in steps of 5), Keep users active for (minutes a user keeps counting as active, 5 to 240) and Scan whole model (scan the whole model instead of just the active view). Changes are saved automatically.
    The Live activity settings popover with the polling interval and the active-users window.
    assets/shots/lens/fig-13.pngThe Live activity settings popover with the polling interval and the active-users window.
  4. Click Show more at the bottom of the feed to reveal earlier events.The feed shows the 10 most recent events and keeps up to 200 in memory. If you scroll down to read older events, new ones wait and are inserted when you return to the top.
Result. A near-real-time feed of the team's activity on the central model, useful for coordinating and for putting the history's changes into context.
  • Polling consumes network resources: on huge models you can raise the interval or switch off Scan whole model.
  • With Track switched on, the history cross-references data with the feed and flags as possible auto the changes whose author was not recorded as active.
8

Track down hidden or manipulated elements across the whole model

4 steps

Goal. Find in one sweep every element that someone hid, or whose appearance was manipulated with overrides, in views on sheets.

  1. Select any element in the model and locate the panel's Visibility section.The scan button lives in the header of the Visibility section, which appears when inspecting an element. With nothing selected, Lens inspects the active view and does not show this section.
  2. Click the Scan all tricks button in the section header.The scan sweeps the model looking for hidden elements or overrides in views placed on sheets, up to a cap of 5000 results. While it runs you will see the status Scanning all views for tricks.
  3. Review the results grouped by view.They appear in their own section, Visibility · all elements: each group is a view and each row an element with its trick type (hidden, with an override, or both). The results persist even if you change the selection, until the next scan.
    The Visibility · all elements section with the scan results grouped by view and rows of hidden or overridden elements.
    assets/shots/lens/fig-14.pngThe Visibility · all elements section with the scan results grouped by view and rows of hidden or overridden elements.
  4. Click Show on a row to activate the view where it happens.Revit opens that view so you can check and correct the visibility with the native tools.
Result. A complete map of the model's visibility tricks, navigable view by view, which is also included in the project HTML report.
  • For a single element there is no need to scan: select it and the Visibility section already checks its views (up to 400 views and 80 findings per selection, prioritising the active view and views on sheets), including switched-off categories and view filters.
  • The global scan covers hides and overrides in views on sheets; tricks caused by filters or categories are only detected in the per-selection check.
9

Export an HTML report

4 steps

Goal. Generate a self-contained report to share the project's status or an element's record card with someone who does not have Revit.

  1. Decide the report type with the scope in the header.In Project (or with nothing selected) the project dashboard is exported; in Element or Type, the dedicated report for the selected element or type.
  2. Click Export HTML in the panel header.Lens gathers the history, the baseline inventory, the recorded live activity and, if there is one, the latest tricks scan, and builds a single HTML file with no external dependencies (it works offline).
  3. In the confirmation dialog, click Open file to open it in the browser, or open the folder.The file is saved in Documents, in the BIMIO Lens Reports folder, with a name that includes the model, the element (if applicable) and the date.
    The export-complete dialog with the file name, the destination folder and the buttons to open the file or the folder.
    assets/shots/lens/fig-15.pngThe export-complete dialog with the file name, the destination folder and the buttons to open the file or the folder.
  4. Browse the report in your browser.The project report includes Overview (figures and a timeline of changes), People (who changed what, a heat map by hour and day, live activity), Elements (hot categories and deletions), Inventory (every recorded row with search, sorting and filters), Revit's project information and the scanned tricks. The element report shows its activity over time and the full inspector snapshot. There is a light/dark theme toggle and a global search.
    The project HTML report open in the browser with the activity charts and the filterable inventory.
    assets/shots/lens/fig-16.pngThe project HTML report open in the browser with the activity charts and the filterable inventory.
Result. A self-contained, presentable HTML file, ready to attach to an email or file away as an audit deliverable.
  • Run Scan all tricks before exporting the project report if you want it to include the visibility tricks table.
  • The Export HTML button is disabled if the panel has no sections to export (for example, with no document open).

Options reference 14 options

OptionWhat it does
Project / Element / Type scopeSegmented control in the header. Decides the reach of the history, the filters and the inspector: the whole project, the selected element (or the active view) or the selected element's type. Saved between sessions.
Record (pill in the History header)Master switch for change recording. When off, synchronisations write no new rows and do not touch the baseline; useful during restructuring to avoid noise. On by default.
Track (pill in the Live activity header)Switches the live activity watcher on the central model on or off. Off by default; the state is remembered and resumes when Revit is reopened.
Hide me from the feedIn the Live activity settings: hides your own activity from the feed (on by default).
Pulse intervalIn the Live activity settings: polling interval for the central model, from 10 to 120 seconds in steps of 5. Default 30 seconds.
Keep users active forIn the Live activity settings: minutes a user keeps appearing as active after their last event, from 5 to 240. Default 30 minutes.
Scan whole modelIn the Live activity settings: with the checkbox ticked (default) polling covers the whole model; unticked, only the elements visible in the active view (lighter).
Show auto-propagatedIn History's Filters expander: shows the rows for Revit's automatic recalculations (hidden by default). Saved between sessions.
User / Category / Action filtersDrop-downs with checkboxes and a counter per option. Unticking an option excludes its rows; the counters in the other columns are recalculated live. The Baseline action lets you include or exclude the initial inventory.
From / To date rangeTwo calendar pickers in Filters that restrict the history to an interval; the To day is included in full.
Deleted only / Restore all / Clear allShortcuts at the foot of Filters: see deletions only, tick everything again or untick everything.
Keep markers on next Sync (share with team)Checkbox in the ghost notices. Authorises a single synchronisation to carry the markers to the central model so the team can see them; afterwards it unticks itself. Left unticked, ghosts are always cleaned up before synchronising.
Persistent expansion statesLens remembers whether you had General Info, Live activity, History and Deleted Elements expanded, and restores it on startup. The Filters expander always starts collapsed.
Advanced settings in settings.jsonThe configuration file in the user's data folder accepts options with no interface: categories and parameters excluded from recording, log retention days (0 = keep everything), session grouping minutes and the Team Ledger folder for consolidating several users' history through a shared folder.

What you get out

  • Self-contained HTML report (no network dependencies) saved in Documents, in the BIMIO Lens Reports folder: a project dashboard with charts, user ranking, heat map, filterable inventory and project information, or a dedicated report for an element or type with its activity and the inspector snapshot.
  • A local SQLite database per project with the baseline, the change history, the element snapshots and the live activity log (in %AppData%\FJV\Lens\projects).
  • Temporary ghosts in the model (red boxes for deleted elements, orange for previous positions) with an identifying comment; they clean themselves up before synchronising and when the document is closed.
  • Diagnostic log files in %AppData%\FJV\Lens\logs.

Pro tips 5 tips

Learn the History search box syntax (user:, cat:, family:, type:, param:, id:, action:, date:): it is the fastest way to answer specific questions without opening the filters.
The element id in General Info is selectable text: click or double-click to select it and Ctrl+C to copy it.
Leave Record switched on whenever you are working normally; switch it off only for massive refactoring sessions and switch it back on before the last synchronisation of the day.
Ghosts should never reach the central model by accident: the automatic pre-synchronisation clean-up is your safety net, and Keep markers on next Sync the deliberate exception.
If the panel feels cluttered, collapse Live activity and Deleted Elements: Lens remembers the state and the sections only load their data when you expand them.

Good to know

History recording only works with workshared models; non-workshared models and family documents can be inspected but do not generate history.
Changes are captured when synchronising with the central model (by comparing against the baseline), not in real time for every edit: between synchronisations the history does not grow.
The history is local per user and machine: each database records what is detected at that machine's synchronisations. Team consolidation exists as an advanced option (Team Ledger) by configuring a shared folder in settings.json, with no graphical interface.
There is no way to rebuild the baseline from the interface: rebuilding it means manually deleting the project's .db file, losing the accumulated history.
By default, noisy categories (sketch lines, cameras, lines, automatic sketch dimensions) and the Edited by parameter are excluded from recording; auto-propagated rows are hidden unless you enable Show auto-propagated.
The per-selection visibility check is budgeted at around 400 views and 80 findings per click in models with thousands of views; the global scan (Scan all tricks) is capped at 5000 results and only covers hides and overrides in views placed on sheets.
The live activity feed keeps at most 200 events in memory, and its Show more button does not load earlier events from the database.
In Revit 2022 and 2023 the selection refresh uses polling at roughly 250 ms; in Revit 2024 and later it is instantaneous.
Ghosts are real DirectShape elements in the model while they exist: if you tick Keep markers on next Sync they will reach the central model at that synchronisation.
The history paginates 50 rows at a time in project scope and 20 at a time in Element and Type; deletions, 20 at a time.
Lens is read-only over the model's data: it does not edit parameters or fix the visibility tricks it detects.

FAQ 8 questions

Does it work with a model that is not shared (no worksharing)?
As an inspector, yes: when you select any element you will see its identity, parameters and visibility. But the history, deleted elements and live activity require a workshared model synchronised with a central; in this version non-workshared models are not recorded.
Where is the history stored and who can see it?
In one SQLite database per project inside your Windows application data folder (%AppData%\FJV\Lens\projects). It is local: it records what your Revit detects when synchronising, and only you can see it. To consolidate the history of several colleagues there is the advanced Team Ledger option: a shared folder configured in settings.json where each user publishes their rows and everyone imports everyone else's.
Why is the History section empty if I have been modelling for hours?
Because changes are recorded when you synchronise with the central model. Check three things: that the model has worksharing, that the Record pill is switched on and that you have already synchronised at least twice (the first synchronisation creates the baseline; changes appear from the next one onwards).
Are the red and orange ghosts saved in the model, and will the team see them?
While you are using them they are real elements of the document, but Lens removes them automatically before every synchronisation and when the document is closed, so under normal conditions they never reach the central model. They are only shared if you expressly tick Keep markers on next Sync, and that authorisation is valid for a single synchronisation.
What does the possible auto note in some history headers mean?
That the changes of that synchronisation are attributed to a user who was not recorded as active in the live activity feed during that period, so they could be Revit auto-propagations (automatic recalculations) rather than deliberate edits. It is a clue, not a verdict: the original attribution is kept.
Can I switch recording off temporarily without losing anything?
Yes. Switch the Record pill off before a session of massive changes: intermediate synchronisations will write no rows. When you switch it back on, the next synchronisation compares against the intact baseline and records the clean net delta.
Does Lens slow Revit down?
In normal use, not noticeably: per-selection inspection is budgeted so it does not trawl through thousands of views, and each synchronisation's diff takes seconds. The two heavy operations are one-off and signposted: the initial baseline (30 to 60 seconds in large models, within the first synchronisation) and the global tricks scan, which only runs when you click Scan all tricks.
How do I start the history from scratch on a project?
There is no button to re-create the baseline, on purpose: it would discard the reference and orphan the recorded modifications. If you really want to start from scratch, close Revit, delete the project's .db file in %AppData%\FJV\Lens\projects and the next synchronisation will build a new baseline.