Skip to content

Sketch nodes refactor, global dimension settings, OCCT 8 wasm build docs#114

Merged
trailcode merged 8 commits into
mainfrom
Trailcode/refactor1
May 27, 2026
Merged

Sketch nodes refactor, global dimension settings, OCCT 8 wasm build docs#114
trailcode merged 8 commits into
mainfrom
Trailcode/refactor1

Conversation

@trailcode
Copy link
Copy Markdown
Owner

Summary

  • Refactor sketch nodes behind a PIMPL (Sketch_nodes::m_impl) while preserving snap and axis-guide behavior.
  • Add global Settings → Sketch → Dimensions controls (line width, arrows, color, text scale, label rendering, placement, show/hide) with live refresh via Length_dimension_style and Occt_view::refresh_all_length_dimensions().
  • Default label rendering to Z-layer Topmost to fix washed-out dimension text against the grid.
  • Fix permanent node annotation size applying correctly from settings.
  • Add OCCT V8.0.0 wasm build automation (scripts/build-occt-v8-wasm.ps1, .cmd) and docs/building-occt.md (Windows prebuilts + Emscripten).

Closes #113

Changes

Area Notes
sketch_nodes.* PIMPL refactor (~400 lines reorganized)
geom.*, gui_settings.cpp, sketch.cpp, occt_view.* Dimension style bundle + apply on create/refresh
gui.h / gui.cpp Settings keys, length_dimension_style()
usage-settings.md, README.md Document nested Dimensions section + OCCT doc link
docs/building-occt.md, scripts/build-occt-v8-wasm.* OCCT 8 wasm download/build guide and script

Removed non-working flyout / extension-line dimension settings (OCCT limitations).

Test plan

  • Open Settings → Sketch → Dimensions; change line width, arrow size, color, text scale, label rendering, placement, arrow style/orientation, Show sketch dimensions — confirm sketch dims and extrude preview update live.
  • Confirm dimension labels are readable over the grid (Z-layer Topmost default).
  • Sketch snap: dimension-tool hover, cross-sketch snap, add-node on edge interior.
  • Permanent node annotation size slider affects node markers.
  • Save/reload ezycad_settings.json; verify edge_dim_* keys persist.
  • Desktop Release build passes.
  • (Optional) scripts\build-occt-v8-wasm.cmd after emsdk_env; emcmake EzyCad with printed OpenCASCADE_DIR.

Notes for reviewers

  • Wasm OCCT 8 build path is experimental; desktop still targets OCCT 7.9.1 prebuilts in README.
  • Commits WIP / Debug code may contain interim work — worth a quick scan before merge.

@trailcode trailcode merged commit dc278a8 into main May 27, 2026
2 checks passed
@trailcode trailcode deleted the Trailcode/refactor1 branch May 27, 2026 23:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sketch nodes PIMPL refactor, global dimension settings, OCCT 8 wasm build tooling

1 participant