Conversation
… native UI enhancements
…tEditor with character undo and cursor visibility
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.
Summary
Adds native vector path foundation, Pen Tool path creation, Direct Selection path editing, and vector path operations (Make Selection, Fill Path, Stroke Path) to Compositor.
Features & Capabilities
Vector Model Foundation:
VectorModel,VectorSubpath,VectorPoint,VectorFill,VectorStrokedata models with Codable persistence.CGPathsupporting line segments, cubic Bézier curves, open/closed subpaths, and hit testing.VectorRenderer.Pen Tool (
P):Direct Selection Tool (
A):Path Operations & Context Menu:
Architectural Impact
Layerwith optionalvector: VectorModel?property, persisted non-destructively alongside raster assets in.compositorpackages.TransformOverlayfor rendering interactive vector paths, anchor points, Bézier handles, and live preview segments.EditorCanvasfor tool switching, secondary-click menus, and keyboard shortcuts (Delete,Escape,Return).EditorSessionhistory transactions preserving non-destructive document undo/redo.Dependencies
e1ae39bfrom open PR Fix character-level undo granularity while editing text #100 (fix/text-undo-granularity). If PR Fix character-level undo granularity while editing text #100 is merged first, this PR cleanly integrates on top.Test Coverage
CompositorTests/PenToolTests.swift: 61/61 tests pass.CompositorTests/DirectSelectionTests.swift: 33/33 tests pass.CompositorTests/VectorPathTests.swift: All subpath and geometry tests pass.CompositorTests/HistoryTests.swift: All history transaction tests pass.CompositorTests/LayerTests.swift: All layer and context menu tests pass.CompositorTests/ProjectTests.swift: Round-trip persistence tests pass.Known Pre-existing Issue:
SliderSnapTestsfails due to a pre-existing upstream slider knob coordinate expectation unrelated to vector tools.Manual Verification