Files
FreeCADWasmDev/docs/current/web-std-scene-owner-20260912.md
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

49 lines
3.0 KiB
Markdown

# 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.