1.6 KiB
Ortho viewport membership
Runtime path
EntryPoint.RunDiagnostic reads each OrthoViewportInfo and calls
PlantObjectReader.ReadObjects. The reader resolves source Piping rows, then
PlantViewportMembershipReader.Read evaluates the stored query for that exact
view. It maps MdObjectId.PrjObjectId to a source DataLinks row and assigns a
membership status to every independent PlantObjectSnapshot.
| Status | Meaning | Diagnostic evidence |
|---|---|---|
Resolved |
The source row was returned by the exact view query. | VIEW_MEMBERSHIP_FROM_CONFIRMED_PNP_ID |
ObjectOutsideView |
The source row was not returned by that confirmed query. | VIEW_MEMBERSHIP_OBJECT_OUTSIDE_CLIP |
NotResolved |
The view contract is unavailable, ambiguous, or failed. | VIEW_MEMBERSHIP_API_UNSUPPORTED |
No source object is treated as visible solely because it belongs to the same
model drawing. No geometry-only result is upgraded to Resolved.
Plan effect
AnnotationPlanBuilder includes membership status in its canonical plan input.
ObjectOutsideView, unsupported, and unresolved objects are Skip operations
with stable reason codes. Resolved membership can progress only through the
existing annotation rules; this DryRun slice never writes an annotation.
Runtime evidence still required
The API contract and build/test coverage are complete, but the exact counts of resolved and outside-view objects require the next Launcher Next DryRun on the local Ortho fixture. The runtime report must record the command-pair PlanIds, summary equality, DBMOD, and automatic rollback.