Proxy Box Creator
See also
In the Extended Matrix language manual:
Paradata NodeGroup — DP-60 formal definition of the
<US>_PDgroup written by this panel.Paradata nodes — Document, Extractor, Combiner and PropertyNode types in the chain.
The Proxy Box Creator builds a proxy mesh (a 7-point bounding volume) for a
Stratigraphic Unit and wires the full paradata chain behind it — Document
instance → Extractors → Combiner → PropertyNode (“Proxy Geometry”) — all
wrapped in a per-US ParadataNodeGroup
(<US>_PD).
The panel lives under EM Annotator → RM to Proxy Suite → Proxy Box Creator and is structured top-to-bottom as a two-step workflow:
Step 1 — Anchor Document (the source the extractors will cite).
Step 2 — Measurement Points (seven 3D positions defining the box).
Parameters (pivot, proxy collection, Active US, persistence).
Chain Summary (collapsible) + Create / Clear buttons.
The panel is gated behind scene.em_tools.experimental_features and
mode_em_advanced.
Step 1 — Anchor Document
Every paradata chain needs a DocumentNode as its ultimate source.
You have three ways to set the anchor:
Pick from selected (eyedropper icon): introspects the active mesh in the viewport. If the mesh is already linked to a DocumentNode through the RM Manager’s has_representation_model edge, the anchor is set immediately. If no link exists, a follow-up dialog opens that promotes the mesh to
rm_list(when an active epoch is present), creates theRepresentationModelNode, adds thehas_representation_modeledge, and records the anchor.Search (magnifying-glass icon): opens the shared
draw_document_picker_with_create_buttonwidget — search the existing document catalog or click + Add New Document… to open the Master Document creation dialog. After the dialog closes, the newly-created document is the anchor.Clear (
Xicon): drops the anchor without touching the scene.
A Propagate to all 7 points checkbox (default ON) controls whether each measurement point automatically inherits the anchor document on Record (and gets its extractor id auto-computed). Turn it off for rare multi-source workflows where different points cite different documents.
Step 2 — Measurement Points
Seven rows, one per semantic point:
# |
Point |
Purpose |
|---|---|---|
1 |
Alignment Start |
Beginning of the main axis |
2 |
Alignment End |
End of the main axis |
3 |
Thickness |
Perpendicular width |
4 |
Quota Min |
Minimum height |
5 |
Quota Max |
Maximum height |
6 |
Length Start |
Start of the axis extent |
7 |
Length End |
End of the axis extent |
Each row displays: status icon (CHECKMARK when recorded), current position
(x, y, z) or —, and a Record button that captures the
3D cursor at click time. When Propagate is on and the anchor is set,
the Record button also fills the row’s source_document and
extractor_id (gap-aware, counts both graph-side extractors and ids
already staged on other points so no two extractors of the same Proxy
collide).
Parameters
Pivot —
Bottom(default),CenterorTop; governs where the proxy mesh’s origin sits.Use Proxy Collection — file the new mesh under the standard
Proxycollection (default ON).Save GraphML immediately after create — default ON. Persists the new paradata chain to the active
.graphmlviaexport.graphml_updateright after Create. The write-lock pre-flight handles yEd conflict detection; disable only if you want to batch-save later.Active US row — a
prop_searchon the Stratigraphy Manager list, bound to thetarget_us_namecomputed property. Picking here moves the Stratigraphy Manager’s active US (and vice versa). The+button (customproxies_rows_addicon) opens the Add Stratigraphic Unit dialog; see Add Stratigraphic Unit (+ Add US).
The proxy mesh will take the Active US’s name on Create — there is no separate “proxy name” field anymore.
Chain Summary
A collapsible box narrates the paradata chain that Create will write, with the correct edge direction and type:
US10102 --has_property--> Proxy Geometry
--has_data_provenance--> C.N (new)
<--is_combined_in-- D.01.102, D.01.103, ..., D.01.108
<--has_extractor-- D.01 (cloned instance)
The names shown are the ones currently resolved: Active US on the left, the Step-1 anchor document on the right.
Create Proxy
The Create button is enabled only when: (1) all 7 points are recorded, (2)
every point has a source_document + extractor_id (guaranteed when
Propagate is on), and (3) an Active US is resolved. If any prerequisite is
missing, the button’s label spells out what’s left (Record all 7 points
first, Set the anchor document (Step 1), Select the Active US
first, …).
On Create the operator:
Runs a write-lock pre-flight on the active graphml.
Clones the Step-1 anchor Document into a fresh instance (same display name, new UUID, copied three-axis classification). Each run gets its own Document instance so the extractors never attach to a document already wrapped inside another PD group.
Writes seven
ExtractorNodes (one per point) withExtractor --extracted_from--> Document-instanceedges (canonical, dashed).Writes a
CombinerNode(C.N, gap-aware) withCombiner --combines--> Extractoredges, positioned at the extractor centroid in the Extractors collection.Writes (or reuses) a
PropertyNodenamedProxy Geometry(canonical qualia fromem_qualia_types_additions.json) on the Active US with edgeUS --has_property--> PropertyNode, and the provenance edgePropertyNode --has_data_provenance--> Combiner.Wraps everything in a per-US ParadataNodeGroup named
<US>_PD(US --has_paradata_nodegroup--> PD_group). Every paradata child gets anis_in_paradata_nodegroupedge pointing at the PD; the GraphMLPatcher nests the child’s XML under the PD’s<graph>at save time.If the Active US has an
is_in_activityedge (from the Add-US dialog’s Activity picker), mirrors it onto the PD group so both sit inside the sameActivityNodeGroupcontainer in yEd.Builds the proxy mesh (7-point box with the chosen pivot), prefixes the name with
graph_code.per DP-46, and re-applies the active display mode (EM / Epochs / Horizons / Properties) so the new mesh picks up the correct material.If Save GraphML immediately is on, invokes
export.graphml_update. The message reports[persisted].
What the result looks like in yEd: a group labelled US10102_PD sitting
in the same swimlane row as its US, containing the Document instance,
seven extractors (labelled D.01.102…D.01.108 at Corner-NorthWest),
one combiner (C.N), and the Proxy Geometry property, all wired
with dashed paradata edges.
Note
Inline US creation has been removed from this panel. Click the +
next to the Active US picker to launch the shared
Add-US dialog — the same form the
Stratigraphy Manager and Surface Areas use.