diff --git a/Plant3D2026/P_Rec_Annot/docs/annotation-plan-determinism.md b/Plant3D2026/P_Rec_Annot/docs/annotation-plan-determinism.md new file mode 100644 index 0000000..fc547ec --- /dev/null +++ b/Plant3D2026/P_Rec_Annot/docs/annotation-plan-determinism.md @@ -0,0 +1,5 @@ +# Annotation-plan determinism + +`AnnotationPlanBuilder` uses schema version `1`. Its canonical input is the normalized command, source drawing basename, view ID, source snapshots sorted by stable ID, properties sorted by key, membership state, and operations sorted by stable source key and type. Absolute paths, process data, timestamps and runtime ObjectIds are excluded. + +Runtime DryRun confirmed equal PlanIds and summaries for two calls of each supported command. Changing a relevant normalized input changes the PlanId. diff --git a/Plant3D2026/P_Rec_Annot/docs/dcf-control-comparison.md b/Plant3D2026/P_Rec_Annot/docs/dcf-control-comparison.md new file mode 100644 index 0000000..f7e44fd --- /dev/null +++ b/Plant3D2026/P_Rec_Annot/docs/dcf-control-comparison.md @@ -0,0 +1,3 @@ +# DCF control comparison + +`DBMOD` covers only the active DWG. DCF and project metadata require paired control and DryRun fixture copies created from one fully closed state. This comparison has not yet been executed, so plugin-only DCF and metadata deltas remain unverified. Apply remains blocked. diff --git a/Plant3D2026/P_Rec_Annot/docs/evidence/ortho-determinism-summary.json b/Plant3D2026/P_Rec_Annot/docs/evidence/ortho-determinism-summary.json new file mode 100644 index 0000000..5376f8e --- /dev/null +++ b/Plant3D2026/P_Rec_Annot/docs/evidence/ortho-determinism-summary.json @@ -0,0 +1,17 @@ +{ + "executionMode": "DryRun", + "planSchemaVersion": 1, + "sourceObjectsRead": 7, + "membershipResolved": 0, + "membershipPartial": 0, + "membershipUnresolved": 7, + "phpRecAnnotPlanIds": ["plan-C5D40DC32505D5D9CFE6D38B", "plan-C5D40DC32505D5D9CFE6D38B"], + "pxpAavPlanIds": ["plan-E4877CA13418D43A17F47AAA", "plan-E4877CA13418D43A17F47AAA"], + "pxpOaPlanIds": ["plan-6C794D25C292E73AA3BDDC31", "plan-6C794D25C292E73AA3BDDC31"], + "summariesDeterministic": true, + "dbmodBefore": 0, + "dbmodAfter": 0, + "launcherSession": "RolledBack", + "dcfControlComparison": null, + "applyModeUsed": false +} diff --git a/Plant3D2026/P_Rec_Annot/docs/ortho-viewport-membership.md b/Plant3D2026/P_Rec_Annot/docs/ortho-viewport-membership.md new file mode 100644 index 0000000..4d034c0 --- /dev/null +++ b/Plant3D2026/P_Rec_Annot/docs/ortho-viewport-membership.md @@ -0,0 +1,5 @@ +# Ortho viewport membership + +Every source snapshot has an explicit `ViewMembershipStatus`. The current Plant 3D 2026 adapter has no confirmed official object-to-view mapping API, so the seven source objects are `NotResolved` and skipped with `VIEW_MEMBERSHIP_NOT_RESOLVED`. Source presence is not treated as viewport membership. + +No geometric heuristic is used as an exact mapping. The next step requires a confirmed generated-entity linkage or documented view mapping.