Skip to content

Implement Block 110 solver-backed Sketch dragging#43

Merged
GideonBa merged 36 commits into
mainfrom
block-110-sketch-live-drag
Jul 15, 2026
Merged

Implement Block 110 solver-backed Sketch dragging#43
GideonBa merged 36 commits into
mainfrom
block-110-sketch-live-drag

Conversation

@GideonBa

@GideonBa GideonBa commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Implements Block 110 of Interactive Sketcher MVP-8.

  • adds stable semantic Endpoint, Midpoint, Center, Radius, Arc, Spline-control, and current Dimension-target handles
  • deduplicates shared endpoint handles by persistent SketchPointId
  • translates drag intent to transient Block-109 Coincident, Midpoint, Concentric, and Radial constraints without GUI-owned constraint mathematics
  • keeps __gui.drag.pointer, __gui.drag.center, and zz.gui.drag.target outside published/committed topology
  • strips augmented solver identity and rebuilds source-only solved topology by stable point id
  • requires exact legacy materialization and topology re-migration before preview and again before commit
  • coalesces move samples into one latest pending pointer
  • synchronously flushes the exact final snapped release sample before commit
  • publishes solved interaction scene, handles, solve status, and exact remaining DOF without mutating PartDocument
  • refuses reference geometry and conflicting, non-convergent, invalid-reference, or incompatible fully constrained drag candidates
  • restores the pre-drag scene/state on Esc, lost pointer capture, window deactivation, no-move handle click, and failed solve
  • commits exactly one Drag sketch handle GuiDocumentSession transaction after source topology and constraint-system freshness checks
  • restores normal Sketch selection/inference state after every drag lifecycle exit
  • synchronizes Sketch toolbar QWidgetAction visibility so Finish Sketch remains fully hidden after workspace exit
  • adds focused [gui][sketch-drag] and [integration][sketch-live-solve] proof
  • updates the Interactive Sketcher, MVP, architecture, Sketch, solver, GUI, development, file-format, and README documentation to Block 111

Verification on Ubuntu 24.04 with Qt 6 and OCCT:

  • complete GUI configuration succeeded
  • complete build/dev-gui tree built successfully, including app, Core tests, Geometry tests, and GUI tests
  • [gui][sketch-drag]: 138 assertions in 5 test cases passed
  • [integration][sketch-live-solve]: 111 assertions in 4 test cases passed
  • legacy Block 106 shell enters edits repeats and finishes a contextual Sketch proof passed three consecutive isolated runs, 48 assertions each
  • complete ctest --test-dir build/dev-gui --output-on-failure: 891/891 tests passed
  • Block 110 adds no persistence schema; handles, pointer samples, augmented drag topology/constraints, and live solve previews remain transient/derived
  • temporary Block-110 verification workflows were removed from main before merge

@GideonBa GideonBa closed this Jul 15, 2026
@GideonBa GideonBa reopened this Jul 15, 2026
@GideonBa GideonBa closed this Jul 15, 2026
@GideonBa GideonBa reopened this Jul 15, 2026
@GideonBa GideonBa closed this Jul 15, 2026
@GideonBa GideonBa reopened this Jul 15, 2026
@GideonBa GideonBa closed this Jul 15, 2026
@GideonBa GideonBa reopened this Jul 15, 2026
@GideonBa GideonBa closed this Jul 15, 2026
@GideonBa GideonBa reopened this Jul 15, 2026
@GideonBa GideonBa closed this Jul 15, 2026
@GideonBa GideonBa reopened this Jul 15, 2026
@GideonBa
GideonBa merged commit 4378f09 into main Jul 15, 2026
6 checks passed
@GideonBa
GideonBa deleted the block-110-sketch-live-drag branch July 18, 2026 13:28
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.

1 participant