Summary
Tracking branch Trailcode/refactor1: refactor sketch-node internals, add persisted Settings → Sketch → Dimensions controls (line width, arrows, label rendering, visibility), fix permanent node annotation scale, and add OCCT V8.0.0 WebAssembly build scripts plus docs/building-occt.md.
Scope (implemented on branch)
Sketch nodes (src/sketch_nodes.cpp, src/sketch_nodes.h):
- PIMPL-style refactor (
Sketch_nodes implementation detail moved behind m_impl).
- Snap / axis-guide behavior preserved; cleaner separation from
Sketch.
Dimension style (src/geom.h, src/geom.cpp, src/gui.*, src/sketch.cpp, src/occt_view.*, src/shp_extrude.*):
Length_dimension_style bundles global dimension display settings.
apply_length_dimension_style() applies Prs3d_DimensionAspect + AIS Z-layer for labels.
- Settings → Sketch → Dimensions (nested): line width, arrow size/color, text scale, label rendering (0–5; default Z-layer Topmost to avoid grid ghosting), placement, arrow style/orientation, show sketch dimensions.
Occt_view::refresh_all_length_dimensions() rebuilds dims when settings change.
- Removed non-functional flyout / extension-line settings after OCCT limitations.
Other:
- Permanent node annotation scale fix (
gui.permanent_node_anno_scale).
scripts/build-occt-v8-wasm.ps1 + scripts/build-occt-v8-wasm.cmd — download FreeType, build OCCT V8_0_0 static + GLES2 for Emscripten.
docs/building-occt.md — Windows prebuilts, wasm build, troubleshooting, wrapper-script patterns.
usage-settings.md updated for new dimension controls.
Out of scope / follow-ups
Test plan
Links
- Branch:
Trailcode/refactor1
- Doc:
docs/building-occt.md
Summary
Tracking branch
Trailcode/refactor1: refactor sketch-node internals, add persisted Settings → Sketch → Dimensions controls (line width, arrows, label rendering, visibility), fix permanent node annotation scale, and add OCCT V8.0.0 WebAssembly build scripts plusdocs/building-occt.md.Scope (implemented on branch)
Sketch nodes (
src/sketch_nodes.cpp,src/sketch_nodes.h):Sketch_nodesimplementation detail moved behindm_impl).Sketch.Dimension style (
src/geom.h,src/geom.cpp,src/gui.*,src/sketch.cpp,src/occt_view.*,src/shp_extrude.*):Length_dimension_stylebundles global dimension display settings.apply_length_dimension_style()appliesPrs3d_DimensionAspect+ AIS Z-layer for labels.Occt_view::refresh_all_length_dimensions()rebuilds dims when settings change.Other:
gui.permanent_node_anno_scale).scripts/build-occt-v8-wasm.ps1+scripts/build-occt-v8-wasm.cmd— download FreeType, build OCCTV8_0_0static + GLES2 for Emscripten.docs/building-occt.md— Windows prebuilts, wasm build, troubleshooting, wrapper-script patterns.usage-settings.mdupdated for new dimension controls.Out of scope / follow-ups
Debug code/WIP— drop or gate debug-only changes before merge.edge_dim_text_render_modeinstead of magicint0–5.Test plan
Sketch_testif available).edge_dim_*keys)..\scripts\build-occt-v8-wasm.ps1completes;emcmakeEzyCad with printedOpenCASCADE_DIR.Links
Trailcode/refactor1docs/building-occt.md