Documentation / Systems

View Studies

Visibility between observers and targets — visible-fraction heatmaps and per-surface results.

⚠️

Engine verified — Rhino run path implemented, live verification pending. The visibility engine and Rhino bridge are wired end to end: the panel sends runviewstudy, Rhino resolves the observer and target geometry, runs the study, and paints the result. The path still needs a verified run in a live Rhino session, so runtime issues may remain.

View Studies measures visibility between observers and targets. For each observer it returns the visible fraction of the target set and paints that value onto the observer surface. Targets can be points, curves, or surfaces; curves and surfaces are sampled into target points.

What You Get

  • Visible fraction — how much of the target set is actually in view once context blocks the rest.
  • Viewport heatmap — the per-observer result is shown on the observer geometry, with an inspect readout for individual sample points.
From each observer, rays go to every target. The fraction that gets past the context is painted back onto the observer.

How It Works

  1. Define observers and targets — put the observer points or surfaces and the target geometry into groups, or select them in Rhino.
  2. Run — the engine casts rays from each observer toward the targets.
  3. Read the result — the heatmap compares observer positions; the panel also reports per-surface average, minimum, and maximum visibility.

Current Development Status

The headless visibility engine has analytic and CPU/accelerated-backend conformance tests. The Rhino adapter, one-shot panel command, live View mode, grouping, target sampling, cancellation, and transient heatmap display are implemented in the source tree.

The next development step is a live Rhino smoke pass with a signed-in Pro account, because View is entitlement-gated. Use a small fixture with:

  • one observer surface;
  • one target surface or a few target points;
  • one obstacle that blocks only part of the target set.

Verify the one-shot Run path first, then live mode, document changes, cancellation, empty and invalid selections, the Windows and macOS plug-in builds, and the CPU/Metal backend label. Record the exact returned error for any failure; the bridge distinguishes missing observers, missing targets, empty sampled geometry, cancellation, entitlement refusal, and runtime exceptions.

The remaining product gap is individual sightlines. The current contract returns aggregate visible fractions, not per-observer/per-target visibility or line geometry, so sightline drawing requires a contract, engine result, Rhino display, and panel design change.

Use Cases

  • View quality — compare units in a residential development by what they can actually see.
  • Privacy — find the parts of a building overlooked by neighbours.
  • Public space — check sightlines across parks and plazas.

View has the same live viewport loop in the source tree, but it is still preview software and has not yet been signed off in a live Rhino session.