Feature/create curve with mouse clic - #14
Open
Ludofr3 wants to merge 19 commits into
Open
Conversation
Introduces `CursorManager` to render a 2D crosshair cursor and adds keyboard shortcuts for switching to create and delete modes. - Add `CursorManager` class to draw and manage custom crosshair cursor - Bind 'n' and 'd' key shortcuts for create and delete mode commands - Update `View` to switch cursor mode and update HUD when entering create mode
Replaces the command processing if-elif chain with a match-case statement and extracts command logic into private helper methods. - Replaces if-elif loop with match-case pattern matching - Extracts handlers for reload config, set edit mode, and active curverefactor(view): simplify command handling with pattern matching Replaces the command processing if-elif chain with a match-case statement and extracts command logic into private helper methods. - Replaces if-elif loop with match-case pattern matching - Extracts handlers for reload config, set edit mode, and active curve
Implements a tool for interactively placing 3D points to construct interpolated splines with real-time previewing and keybindings. Also adds architecture documentation with Mermaid flow diagrams. - Add `CreateSplineTool` state machine for drawing spline previews - Integrate creation mode into `MouseHandler`, `View`, and keybindings - Add `add_interpolated_curve` to `SplineModel` and adapter event handling - Dynamically instantiate new curves in `Scene.apply_patch` - Fix camera lens retrieval in ray picking and constraint projections - Add sequence and component diagrams to architectural docs
Removes debug print statements and legacy fallback code from spline creation, while cleaning up non-English inline comments. - Simplifies `SplineModel.add_curve` by removing obsolete API checks - Removes debug print statements in spline model - Translates docstrings and cleans up redundant comments in control tools
Splits `adapter.py` into dedicated CAD, spline, and composite modules under `bot/viewer/adapters/` to improve code organization. - Extract `CADAdapter`, `SplineAdapter`, and `CompositeAdapter` into separate files - Export adapters from `bot/viewer/__init__.py` - Update viewer import paths to use new package structure
…nal-Geometry/bot into feature/create-curve-with-mouse-clic
Enables deleting the currently active curve using the 'd' shortcut key, updating the underlying spline model and removing geometry from the scene. - Binds 'd' key in shortcuts registry to dispatch `delete_curve` - Handles curve deletion and scene update events in `SplineAdapter` - Cleans up deleted curve tags in `SplineModel`
Ludofr3
marked this pull request as ready for review
August 21, 2026 14:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
n(creation mode) andd(deleting the selected curve).