3.0 KiB
Web/Std Scene Ownership
Status: scene display entries implemented and built; pending user validation. No automated runtime tests, browser verification or acceptance were run.
The supplied CommandView.cpp implements Std_AxisCross as an origin-axis display toggle and Std_DemoMode as a turntable-view task. These require a mounted view, not a new CAD kernel or a fabricated native operation. The existing ImportRenderBridge and OpenScadDesktopView now mount a shared scene-command host.
- Axis cross visibility uses Three.js AxesHelper at the origin.
- Basic turntable playback, stop, signed speed and direction use OrbitControls.
- View controls are mounted on the viewport; handlers require a visible host matching the requested document. Missing views produce view_unavailable.
- The shared renderer schedules frames while rotating and releases scene tools, registrations and resources on disposal. The OpenSCAD view is retained when switching to Web commands so a command does not discard its own view host.
- Turntable angle/inclination, timed playback and the complete desktop dialog options are not implemented by these basic controls. This is not full desktop parity or runtime verification.
The dispatcher and static registry share scene-display-commands.json. Its two entries declare browser-ui ownership, not native registration. The packet includes actual scene sources and the frontend build target. The formal pipeline reports 2 ready, 0 missing, implementation_ready; frontend build 10.301 seconds, total pipeline 16.485 seconds. No WASM rebuild was requested.
Original sixteen-command batch: ten dock-overlay commands were handed off in web-dock-overlay-implementation-pipeline.json and two display commands in web-scene-display-implementation-pipeline.json. Remaining:
| Command | Implementation Needed |
|---|---|
| Std_AlignToSelection | Selected native element orientation and active camera alignment |
| Std_BoxSelection | Interactive rectangle with desktop selection-mode semantics, hierarchy and visibility |
| Std_BoxElementSelection | Actual native face/edge/vertex identities through selection and viewport projection |
| Std_ClarifySelection | Object-level picking now published separately; actual native subelement identities, assembly paths and desktop radius preferences remain |
Do not fake these four by mapping arbitrary mesh triangles to native faces, by setting status=exposed, or by reporting camera framing as geometric alignment. The original 488-record baseline remains intact. Current route changes and retained source findings are separate from complete semantic review and user validation. Model-event intervals have not been demonstrated to be eliminated; this work removes two additional deterministic registration misassignments.
Follow-on implementation: web-overlap-selection-implementation-pipeline.json publishes object-level Std_ClarifySelection through the two existing Three.js views. See web-overlap-and-search-handoff-20260912.md for scope and retained gaps.