Keavon Chambers
ead914ec2b
Fix regression where Vello doesn't render new document opened after closing all documents ( #3849 )
...
* Fix regression where Vello doesn't render new document opened after closing all documents
* Remove last_svg_canvas and do this logic in the frontend
2026-03-05 09:54:31 +00:00
Keavon Chambers
8a1dfb9d8f
Refactor messages.ts by removing class-transformer and JS classes ( #3858 )
...
* Fix gamma correction with HTML-based editable Text tool text
* Migrate simple, undecorated classes to types
* Remove TupleToVec2 transformation
* Remove @Transform from tooltips
* Cleanup: replace value.toString() with String(value) everywhere
* Convert documentId from string to bigint
* Migrate the rest of the easy @Transform/@Type decorations
* Migrate FillChoice
* Migrate WidgetDiffUpdate
* Migrate WidgetInstance
* Migrate away from classes that extend WidgetProps
* Remove class-transformer and all classes in messages.ts
* Migrate UI layout passing
* Remove dead code
* Remove unnecessary export and readonly prefixes
* Remove HSVA type
* Break out Color, Gradient, and FillChoice functions into a utility-functions file
* Move widget helper functions from messages.ts into a new utility-functions file; restructure type imports
* Reduce internal type defs
* Rename JsMessage to FrontendMessage
* Code review fixes
* Fix other usages
* Tidying up
2026-03-05 01:43:21 -08:00
Keavon Chambers
f00a15a4c9
Clean up Gradient and Color classes in TS by removing their methods ( #3857 )
2026-03-04 02:39:07 -08:00
Keavon Chambers
5834ee9ce4
Clean up generic widget handling code in the frontend ( #3856 )
...
* Clean up WidgetSpan component code to avoid the giant if-chain for choosing a widget
* Improve typing support
2026-03-04 01:00:09 -08:00
Keavon Chambers
8a75c0c1e1
Add layer locked toggle icon and context menu entry to node graph ( #3855 )
...
* Add layer locked toggle icon and context menu entry to node graph
* Simplify logic
2026-03-04 06:30:04 +00:00
Timon
da7437c023
Reimplement notice file generation for third-party licenses through Rust, now with CEF credits ( #3808 )
2026-02-26 11:12:28 +00:00
Keavon Chambers
e62771845f
Add an in-viewport color picker to the Gradient tool when double-clicking a color stop ( #3834 )
...
* Hide batched blocked debug print messages
* Implement the color picker on double-clicking stops
* Code review
2026-02-25 21:03:12 -08:00
Keavon Chambers
691d965bcf
Add support for gradients with midpoints and add draggable diamonds to the color picker dialog ( #3813 )
...
* Refactor GradientStops to use struct-of-arrays and include midpoint
* Implement interaction and rendering
* Make color picker saturation-value color picking snap to original position and show both axis lines
Make color picker saturation-value color picking snap to original position and show both axis lines
* Add graphite:midpoint attribute to SVG exports
* Add graphite:midpoint parsing to SVG importer
2026-02-23 19:21:51 -08:00
Keavon Chambers
9f2c8713ff
Add the SVG Preview render mode in place of the Vello option in the preferences ( #3797 )
...
* Remove Vello from preferences
* Add the Render Mode: SVG Preview radio button
* Remove SVG outline renderer
* Add a tooltip explaination when disabled in unsupported browsers
* Fix Eyedropper tool to support Outline render mode
* Use #[allow(clippy::too_many_arguments)] instead of tuple
* Rerun nodegraph when max render area is changed
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2026-02-22 20:27:26 +00:00
Timon
a2d3b3f410
Desktop: Make shutdown more robust and fix panic caused by invalid viewport scale ( #3783 )
...
* Fix panic caused by invalid viewport scale
* Make shutdown more robust
2026-02-22 17:28:35 +00:00
Jill Chhagnani
9d83998463
Fix missing crash dialog for panics thrown inside requestAnimationFrame loop ( #3788 )
...
* add crash dialog in RAF path
* removed panic!()
* removed redundant string allocationa dn duplication between function
* fixed allocation
* removed bloated code
2026-02-22 17:27:23 +00:00
Dennis Kobert
0531769c41
Cache Vello render output as stitchable textures ( #3722 )
...
* WIP render caching
* Hook up render cache to render pipeline
* Fixed offsets
* Initial cleanup
* Integrate cache with context invalidation
* Cleanup
* Improve rounding and reduce tile size to fix vello not rendering
* Include pointer position in cache key
* Avoid unwraps and zero sized textures
* Destroy textures after blitting to surface
* Fix context dependencies
* Exclude footprint from render params
* Batch animation frame messages
* Add vello max render size to preference dialogue
* Remove unused import
* Reorder vello preference
* Clean up preferences dialog
* Apply review suggestions
* Cap max render region size
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-22 10:12:50 +00:00
Keavon Chambers
5aca75dcbd
Simplify breadcrumb trail buttons widget styling
2026-02-20 22:50:05 -08:00
Timon
3f999bf231
Desktop: Add "Disable UI Acceleration" to preferences ( #3774 )
...
* Deskltop: Add Disable UI Accelaration preference
* Fixup
* Fix typo
* Code review and update strings
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-19 01:54:01 +00:00
Keavon Chambers
6824f55929
Add hover style to checkboxes when their corresponding labels are hovered
2026-02-18 17:37:34 -08:00
Ayush Amawate
9bf3605b85
Add F2 shortcut for renaming the selected layer ( #3641 )
...
* add keyboard shortcuts for renaming layers
* apply reviewed suggestions
* Add todo comment
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-18 12:05:04 +00:00
Jill Chhagnani
2f8ee1b1bf
Fix inability to navigate up and down with arrow keys in interactive-style menu lists ( #3768 )
...
fixed keyboard navigation in font picker
2026-02-15 19:19:23 +00:00
Kulcode
97c86125f6
Prevent tooltips from showing when mouse leaves the window over a widget with a tooltip ( #3627 )
...
* Fix tooltip visbility issue
* Reorganize
* Fix
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-15 10:53:24 -08:00
Keavon Chambers
df0c9dcba2
Fix Breadcrumb Trail widget pixel misalignment at non-integer UI scaling
2026-02-15 00:18:10 -08:00
Vatsal Kumar
f2dfd42754
Fix dragging range-style integer number inputs not accumulating slow mouse movements ( #3682 )
...
fixed to register non integer drag also
2026-02-14 07:02:43 +00:00
Ayush Amawate
9ae13634d0
Simplify the Layers panel tree structure Rust -> JS encoding ( #3744 )
...
* replace custom layer structure encoding with simple JSON tree
* add leftover files
* Renames
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-12 20:06:58 +00:00
Jatin Bharti
f4a5c77df8
Fix regression preventing the renaming of graph imports/exports ( #3752 )
...
fix : Node Renaming error
2026-02-12 10:42:38 -08:00
Timon
acab171bc5
Desktop: Build and Sign Mac and Windows Bundles in CI ( #3728 )
...
* Desktop: Build and Sign Mac and Windows Bundles in CI
* Desktop: Remove unnecessary CEF files from Windows Bundle
* Desktop: Use a temp file for license generation on Windows to avoid PowerShell modifying stdout
2026-02-06 13:37:07 +00:00
Keavon Chambers
ea293575e0
Fix inability to click node in catalog, a Svelte 5 regression
...
Closes #3693
2026-01-27 15:25:56 -08:00
Keavon Chambers
84e9d8c192
Prep for the RC3 release of the desktop app
2026-01-26 17:32:58 -08:00
Timon
5fd1a24f16
Desktop: Add Eyedropper tool support with native Vello ( #3684 )
...
* mostly done
* fix
* kinda works but tilt and flip broken
* fix footprint
Co-authored-by: James Lindsay <78500760+0HyperCube@users.noreply.github.com>
* Code review
* fix cursor hiding
* Remove console.log
---------
Co-authored-by: James Lindsay <78500760+0HyperCube@users.noreply.github.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-27 01:24:09 +00:00
Keavon Chambers
3488d5b8e7
Fix color picker's broken gradient stop selection due to Svelte 5 not treating components as classes
2026-01-26 11:50:01 -08:00
Ayush Amawate
ede34b1b9f
Fix context menu blocking keyboard input after closing node graph ( #3571 )
...
* Fix context menu blocking keyboard input after closing node graph
* Formatting
* move context menu logic to Graph component
* revert editior.svelte to original state
* revert try 2
* fix import order issues
* remove redundant paranthesis
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-24 02:32:05 -08:00
Timon
7a5790744f
Add focus document toggle ( #3672 )
2026-01-23 15:28:02 +00:00
Timon
2be7790d4d
Improve UX of importing vs. opening files ( #3661 )
...
* wip
* fix drag and drop
* fix
* fix tests
* fix tests
* fix warning
* Partial code review
* add dialog
* fix web
* fix web
* push back release candidate expiry
* Code review
* Reduce code duplication for pasting files in frontend
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-22 01:37:49 -08:00
Keavon Chambers
5543afd44b
Clean up old website code and files ( #3658 )
2026-01-19 22:09:51 -08:00
Timon
95d3556204
Replace globals with editor environment ( #3656 )
...
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-19 17:06:02 +00:00
Timon
07fbcd489c
Desktop: Add fullscreen window mode ( #3625 )
2026-01-19 16:32:03 +00:00
Timon
00718c5b61
Remove the need for Nix npm dependency hash ( #3652 )
...
* Remove the need for nix npmDeps hash
* Use 2.x
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-17 22:22:59 +00:00
Keavon Chambers
915a344a05
Bump frontend dependencies to Svelte 5 ( #3648 )
...
* Add more recommended VS Code default configs
* Upgrade frontend dependencies including Svelte 5
* Fix derived_references_self runtime error
* Fix lint warnings
2026-01-17 14:31:50 +00:00
Adam Gerhant
c13647aef4
Fix regression where tooltip node descriptions in the graph stopped showing ( #3639 )
...
* Fix tooltips
* Convert DefinitionIdentifier to string in JavaScript
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-15 23:30:16 -08:00
Timon
73682b482b
Desktop: Implement pointer lock for NumberInput ( #3638 )
...
* Desktop: Implement pointer lock for NumberInput
* add shift and ctrl modifiers
* fixup
2026-01-15 11:27:31 +00:00
Keavon Chambers
39849c9c02
Simplify Svelte component structure in the window subfolder
2026-01-14 19:06:22 -08:00
James Lindsay
aadc989134
Include path endpoints as extrema in the Extrude node ( #3469 )
...
* Include single connected points as extrema in the extrude node
* Update styling of loading indicator
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-14 02:31:18 -08:00
Adam Gerhant
a6052c5819
Replace node definition string-based lookups with DefinitionIdentifier instances ( #3451 )
...
* create definition identifier and integrate it
* Bug fixes and code review
* formatting
* Fix migrations
* Fix remove handles migration
* formatting
* Fix test
* Fix tests 2
* fix deserialization
* Code review
* Small fixes
* Consolidate 'Morph' node migrations
* Add old SamplePointsNode name to migrations list
* Fix tests
* Unrelated small fix
* Fix migration crashes
* Fix tests
* Final code review
* fmt
* Add metadata
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-12 23:09:43 -08:00
Dennis Kobert
e88db022af
Exclude node registry functions from desktop frontend builds ( #3584 )
...
* Exclude node registry functions from desktop frontend builds
This reduces compile times and file sizes
* Use early return
* Fix branch name in build-linux pipeline
2026-01-06 12:34:15 +00:00
Keavon Chambers
02e3293e72
Prep for the RC2 release of the desktop app
2026-01-06 04:38:52 +01:00
Keavon Chambers
4f4ec7ffff
Add the new AI contribution policy
2026-01-05 17:03:42 -08:00
Keavon Chambers
9f25c50ca1
Prep for the RC1 release of the desktop app
2025-12-24 22:45:08 -08:00
Keavon Chambers
63217feac6
Organize the categories of widget component props
2025-12-23 21:23:13 -08:00
Keavon Chambers
6dea184b03
Update the color of scrollbars to match the latest design
2025-12-23 15:13:12 -08:00
Keavon Chambers
2f880fa035
Fix missing artboard layer icon
2025-12-23 14:43:13 -08:00
Keavon Chambers
415d4b578a
Fix markdown tooltips treating Rust type labels as HTML tags
...
Closes #3520 , a regression introduced in #3488 .
2025-12-22 15:23:40 -08:00
Timon
11e2882cb2
Desktop: Fix Windows build ( #3522 )
...
* fix win build
* fix mac
* Change window button colors to match Windows colors
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-12-22 14:48:13 -08:00
Keavon Chambers
64ed21f694
Clean up code with better naming
2025-12-21 23:35:00 -08:00