-
Notifications
You must be signed in to change notification settings - Fork 0
Sync Commits #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync Commits #1
Conversation
fix too greedy node deletion search Co-authored-by: CaligulaAlucard <caligulaalucard@localhost.localdomain> Co-authored-by: Keavon Chambers <keavon@keavon.com>
…e Kurbo API (#2611) * rough refactor of Position on Path node * refactor * refactor 'Tangent on Path' node implementation to use kurbo API * Code review --------- Co-authored-by: indierusty <priyaayadav@gmail.com> Co-authored-by: Keavon Chambers <keavon@keavon.com>
* line midpoint snapper * Add to snap option menu * remove being_drawn_line_midpoint * Code review --------- Co-authored-by: Keavon Chambers <keavon@keavon.com>
Fix slow svg import Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Added granular overlays control based on features * Added basic support for pivot, path, anchors and handles overlay settings * Added more overlay checks on anchors and handles * Add new settings over measurements, hover and selection overlays * Fix errors introduced while rebasing * Disable anchors and handles functionality with their overlays, extended selection outline check * Add check to enable/disable outlines on selected layers * Toggle handles checkbox in sync with anchors checkbox * Refactor overlays checks * Remove debug statements * Update select_tool.rs to resolve conflict * Minor fix to reflect anchor checkbox state on the handles * Minor fix to make anchors checkbox work * Rearrange menu items, and code review * Fix pivot dragging * Add handles overlay check when drawing with pen tool * Fix constrained dragging when transform cage is disabled * Fix deselecting user selection when anchors are disabled * Minor fix for disabling anchors * Remove All from OverlaysType * Remove debug statements * Fix editor crash when selecting other layers with path tool and anchors disabled * Minor fix on overlays check for all overlays * Add proper code formatting * Nits --------- Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Add tests for freehand tool * add test: line weight affects stroke width * refactor
… make them clamp their input data (#2464) * Fix min and max macro not enforcing limits when data flows * Use trait based clamping * Remove min/max from testing * cargo fmt * Resolve into min, and hard_min * cargo fmt * fix traits * cargo fmt * fix tests * rename as soft_x * Add validation code * Clean up (not compiling because of DVec2 clamping) * Avoid needing to add trait bounds to node definitions * Code review --------- Co-authored-by: Dennis Kobert <dennis@kobert.dev> Co-authored-by: Keavon Chambers <keavon@keavon.com>
…down menus (#2589) * First draft of factoring out the dropdown boilerplate * Add proc macro for enum boilerplate * Detect whether to say `crate` or the name * Clean up the input and naming of the enum macro * Rename a file * Do the rename of code too * Use the attribute-driven selection of radio vs dropdown * Add a metadata struct and tooltips * Move the new traits to a better place. * Use ChoiceType, part 1 * Use ChoiceType, part 2 * Introduce a builder API for choice widgets * Start using the new new API * DomainWarpType should be a dropdown still * Handle the case where a node property can never have a socket * Rustfmt * Code review * Update stable node IDs in test --------- Co-authored-by: Keavon Chambers <keavon@keavon.com>
…2629) * fix naming * refactor sample_points node/function. * avoid recalculating segments length to find point on bezpath. * cleanup * rename few variables * fix transformation and use precomputed segment lengths * write comments * set POSITION_ACCURACY and PERIMETER_ACCURACY to smaller value to get better approximate euclidean position on a path * fix segment index when t value is 1.0 * Improve comments * move sampling points code into a separate function * it works! finding the segment index is linear now! * small fix and improve variable names & comment * Naming * evaluate segment at t as euclidean distance. fix. * improve comment & variable name --------- Co-authored-by: indierusty <priyaayadav@gmail.com> Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
… next deeper object (#2639) * Fix overlay behaviour on hovering over a layer * Add the deepen overlay code * cleanup
#2637) * Avoid allocating a Vec when precomputed segments lengths is provided. * improved using option type. * we don't even need option type as Vec::new() doesn't allocate. * clean up
Caution Review failedThe pull request is closed. WalkthroughThis update introduces a granular overlay visibility system, replacing the previous global boolean flag with a structured settings object that allows independent control over each overlay type (such as artboard names, handles, anchors, compass rose, etc.). The UI is updated to provide individual checkboxes for each overlay. The overlay rendering logic throughout the editor and tool codebase is refactored to respect these new visibility settings. Additionally, the node system and UI widget generation for enums are overhauled to use a generic, metadata-driven approach, leveraging a new procedural macro to automatically generate choice-type metadata, display, and widget integration for enums. Several numeric parameter attributes are changed to distinguish between soft and hard bounds, with runtime clamping logic added for hard bounds. The node graph core and vector processing modules gain new features, including a public clamping trait, enhanced enum metadata, and new algorithms for Bézier path evaluation and sampling. Changes
Sequence Diagram(s)sequenceDiagram
participant UI
participant DocumentHandler
participant OverlayContext
participant OverlaysRenderer
UI->>DocumentHandler: SetOverlaysVisibility { visible, overlays_type }
DocumentHandler->>OverlayContext: Update overlays_visibility_settings
OverlayContext->>OverlaysRenderer: Provide visibility_settings
OverlaysRenderer-->>OverlayContext: Render overlays (per-type visibility)
OverlayContext-->>UI: Update overlay checkboxes (global & per-type)
sequenceDiagram
participant Enum
participant ChoiceType Derive Macro
participant UI Widget Factory
Enum->>ChoiceType Derive Macro: #[derive(ChoiceType)]
ChoiceType Derive Macro->>Enum: Generate metadata, Display impl, widget hints
UI Widget Factory->>Enum: Query ChoiceTypeStatic trait for options
UI Widget Factory-->>UI: Build Dropdown/Radio widget for enum
Poem
Tip ⚡️ Faster reviews with caching
Enjoy the performance boost—your workflow just got faster. 📜 Recent review detailsConfiguration used: CodeRabbit UI ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (52)
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Closes #
Summary by CodeRabbit
New Features
Improvements
Bug Fixes
Refactor
Tests
Documentation
Style