Keavon Chambers
ca5785bc8f
Show a "Ctrl +" label instead of "Ctrl =" for View > Zoom In ( #3377 )
2025-11-13 17:24:04 -08:00
Keavon Chambers
ac74bd9903
Allow the Stroke node to receive "Dash Lengths" values from the node graph
2025-11-12 01:14:17 -08:00
Keavon Chambers
e42950b4be
Add support for middle-clicking (and double-clicking) the document tab bar to create a new document ( #3363 )
2025-11-10 00:54:30 -08:00
Keavon Chambers
f5ef1a94fe
Update the website with an evolved roadmap and new product screenshots/videos
2025-11-10 00:06:10 -08:00
Keavon Chambers
6b315c3b68
Modernize and fix website build tooling deps and utilize JS type checking ( #3348 )
...
* Modernize and fix website build tooling deps and utilize JS type checking
* Upgrade to the latest Node.js
2025-11-06 16:30:35 -08:00
Keavon Chambers
96d73a8570
Remove the application title from the header bar
2025-11-06 09:20:51 -08:00
Keavon Chambers
6d669ad734
Add documentation to many nodes ( #3338 )
2025-11-03 15:51:50 -08:00
Keavon Chambers
055d543117
Rename the 'Index' node to 'Index Elements'
2025-11-03 13:35:56 -08:00
Keavon Chambers
0998abdaf3
Add support for visualizing Vec<String> in the Data panel
2025-11-03 13:13:54 -08:00
Keavon Chambers
9dd715e4e9
Update community meetup blog post agenda details
2025-10-09 12:41:17 +02:00
Keavon Chambers
3364059e02
Add tooltip documentation to the graphic flattening nodes and string nodes ( #3269 )
2025-10-07 16:50:18 +02:00
Keavon Chambers
55a64064b0
Make the 'Decompose Rotation' node return degrees not radians; add tooltip documentation to transform nodes ( #3268 )
...
Make the 'Decompose Rotation' node return degrees not radians, and add tooltip documentation to transformation nodes
2025-10-07 09:36:35 +00:00
Keavon Chambers
91b08f4b4f
Add tooltip documentation for animation-focused nodes ( #3267 )
2025-10-07 07:00:27 +00:00
Keavon Chambers
fc9afce504
Add tooltip documentation for blending-focused nodes ( #3266 )
2025-10-07 00:23:50 +00:00
Keavon Chambers
6c033a2cd6
Tidy up tooltip documentation for several assorted nodes ( #3265 )
2025-10-07 01:28:03 +02:00
Keavon Chambers
593a89f2e2
Update content throughout the website ( #3252 )
2025-10-04 00:47:56 +00:00
Keavon Chambers
f4a0f272dd
Add note about the September 2025 release to the editor welcome screen
2025-09-20 05:20:20 -07:00
Keavon Chambers
ac4665683b
Blog post: Graphite community meetup in Germany
2025-09-20 01:59:05 -07:00
Keavon Chambers
9d15e56ce1
Fix and clean up typing-related flaws with the Math category of nodes
2025-09-18 16:37:01 -07:00
Keavon Chambers
7e3ab78ea4
Fix more flaws with 'Transform' node rad-to-deg migration; make 'Tangent on Path' also use degrees by default
2025-09-18 14:09:10 -07:00
Keavon Chambers
4662cbbbc1
Make the 'Count Elements' and 'String Length' nodes return f64 for consistency with 'Instance Index'
2025-09-16 16:08:03 -07:00
Keavon Chambers
a1df16bc9e
Switch infinite color/gradient rendering to a more robust approach
2025-09-13 14:03:11 -07:00
Keavon Chambers
50f06c886f
Fix crash from #3160 when migrating some old documents to use degrees not radians
2025-09-11 15:14:41 -07:00
Keavon Chambers
9a32e79853
Rename NodeInput::Network to NodeInput::Import ( #3163 )
2025-09-10 20:50:15 -07:00
Keavon Chambers
22aa8c1264
Update UI widget designs to improve color consistency and add a narrow height mode
2025-09-08 21:48:22 -07:00
Keavon Chambers
a2c0693038
Fix most known issues with migrations failing to open documents from the past year ( #3148 )
2025-09-07 11:10:03 -07:00
Keavon Chambers
89c9cf1352
Fix infinite recursion introduced in #2795 that occurs in old document migrations
2025-09-05 14:04:10 -07:00
Keavon Chambers
b5ebe78f5e
Update all frontend npm dependencies except Svelte and Vite ( #3120 )
...
* Upgrade node dependencies except Svelte 5 and its peer deps
* Fix lint errors
* Fix previous Rust deps upgrade breakage
* Fix demo artwork
* Allow profiling CI workflow to fail
2025-09-01 17:22:30 -07:00
Keavon Chambers
29684dde45
Update Rust dependencies ( #3112 )
...
* Update Rust dependencies
* Bump versions
* Try older ctor
2025-08-30 20:06:56 -07:00
Keavon Chambers
0e467907e2
Improve font import; replace Inconsolata with Source Code Pro; show third-party licenses in editor dialog ( #3079 )
...
* Improve font import; replace Inconsolata with Source Code Pro; show third-party licenses in editor dialog
* Code review
2025-08-21 11:57:04 -07:00
Keavon Chambers
3bcec37493
Remove the deprecated/archived Bezier-rs library from the repo ( #3058 )
...
Remove the Bezier-rs library from the repo
2025-08-16 17:29:00 -07:00
Keavon Chambers
bdc029c692
Add Table<Gradient> as a graphical type ( #3051 )
2025-08-13 01:42:51 -07:00
Keavon Chambers
1b351aca76
Replace the Color type with Table<Color> everywhere ( #3048 )
2025-08-12 00:38:23 -07:00
Keavon Chambers
2bb4509647
Replace the Spreadsheet panel with an improved Data panel ( #3037 )
...
* Improve the table data panel
* Add the "Window" menu bar section and polish everything
2025-08-10 07:46:42 -07:00
Keavon Chambers
2f4aef34e5
Add Table<Color> as a graphical type ( #3033 )
...
* Reduce code duplication in bounding box impls on Table
* Working Table<Color> rendering in the graph
* Implement color and fix other rendering with Vello and polish
2025-08-10 01:34:33 -07:00
Keavon Chambers
0f638314dc
Rename the Group type to Graphic everywhere ( #3009 )
2025-08-05 20:55:15 -07:00
Keavon Chambers
6dd17f76c1
Fix pointer offset from viewport position
2025-08-05 03:26:09 -07:00
Keavon Chambers
2e1396462c
Eliminate bare Graphic and Artboard graph data by making Merge and Artboard nodes internally use tables ( #2996 )
...
* Eliminate bare Graphic and Artboard graph data by making Merge and Artboard nodes internally use tables
* Make the Extend node user-facing
2025-08-05 02:24:12 -07:00
Keavon Chambers
4b11dced48
Make Table<T> implement the IntoIterator trait
2025-08-04 15:20:48 -07:00
Keavon Chambers
c98477d8ed
Rename graphic subtypes to remove their "data" and "group" suffixes ( #2990 )
...
* Rename VectorData to Vector
* Rename other VectorData* types to Vector*
* Move assorted data types out of vector_data.rs into misc.rs
* Rename vector_data.rs to vector_types.rs and remove the vector_types module folder
* Rename other references to "vector data"
* Remove label widgets for raster/vector/group to use "-" instead
* Rename RasterData to Raster
* Rename GraphicGroup to Group
* Fix migrations and rename graphic_element.rs -> graphic.rs
* Rename TaggedValue::ArtboardGroup -> TaggedValue::Artboard
2025-08-04 04:53:25 -07:00
Keavon Chambers
5637f01845
Rename GraphicElement -> Graphic and trait GraphicElementRendered -> Render ( #2987 )
2025-08-03 16:15:02 -07:00
Keavon Chambers
9a4a7dee80
Make auto-saving happen once per second
2025-08-03 15:20:30 -07:00
Keavon Chambers
a0ce56d9b6
Rename Instances<T> to Table<T> and the "instance" terminology to "TableRow" and "element" ( #2981 )
...
* Instances -> Table
* instances.rs -> table.rs
* Rename occurrances of the word "instances"
* .instance -> .element
* Instance* -> TableRow*
* Rename Table and TableRow methods to not say "instance"
* Remove presumed unused serde defaults now that tables default to length 0 not 1
* Rename occurences of the word "instance"
* Un-alias the RasterDataTable<Storage>, VectorDataTable, GraphicGroupTable, ArtboardGroupTable typedefs
* Move artboard type and node code out of graphic_element.rs to a new artboard.rs
* Organize the TaggedValues
* Fix tests
* Fix prior regression with Image Value node not upgrading
2025-08-03 04:12:18 -07:00
Keavon Chambers
07802204f2
Fix ~1 second delay opening new document in Chrome by correctly setting willReadFrequently ( #2962 )
...
* Fix ~1 second delay opening new document in Chrome by correctly setting willReadFrequently
* Use willReadFrequently in a couple more places
2025-07-31 02:49:16 -07:00
Keavon Chambers
abab145d65
Fix the Rasterize node to not ignore raster graphical data
2025-07-31 01:21:32 -07:00
Keavon Chambers
3cc9dd79fb
Rename the Coordinate data type to Vec2 ( #2959 )
2025-07-30 22:53:36 -07:00
Keavon Chambers
4391f88d03
Update references to the latest tech stack plans
2025-07-29 15:17:41 -07:00
Keavon Chambers
b348fabfd2
Remove the unsupported Brush tool warning dialog now that raster performance is improved
2025-07-28 17:03:48 -07:00
Keavon Chambers
66cd7a3b76
Desktop: Add the transparent viewport hole punch and hook up window button plumbing ( #2949 )
2025-07-28 02:13:32 -07:00
Keavon Chambers
d9de1a1c73
Update the website's development roadmap
2025-07-27 03:17:44 -07:00
Keavon Chambers and Adam
f299497090
Add shaking input gesture to disconnect a node being dragged ( #2889 )
...
* Add shaking input gesture to disconnect a node being dragged
* Improve shake detection algorithm
* Fix reconnection
* Improve shake reconnect logic
* Fix history
---------
Co-authored-by: Adam <adamgerhant@gmail.com >
2025-07-19 02:11:52 -07:00
Keavon Chambers
6f46f21e21
Improve the HTTP request nodes and add new related nodes ( #2896 )
...
* Improve the network request nodes and add new ones to process data
* Use Content-Type: application/octet-stream
* Add 'Gamma Correction' node
2025-07-18 05:03:50 -07:00
Keavon Chambers
561b671f8d
Add transform-related nodes to improve transformation abilities ( #2893 )
...
* Improve transformation abilities with transform-related nodes
* Fix Transform -> Merge and Transform -> Artboard connections
2025-07-17 11:58:57 -07:00
Keavon Chambers
8f26c5c2ad
Remove the UVec2 and IVec2 graph data types and have Artboard use DVec2 ( #2894 )
2025-07-16 18:45:10 -07:00
Keavon Chambers
99966d848d
Fix text per-glyph instance overlays and click target issues
2025-07-14 14:47:01 -07:00
Keavon Chambers
112efe88c2
Add multi-level loop indexing with the 'Instance Repeat' node
2025-07-14 02:55:44 -07:00
Keavon Chambers
be8378309d
Avoid crashing if an error occurs in the layout widget update handlers
2025-07-14 00:24:17 -07:00
Keavon Chambers
88ac275e47
New nodes: 'Greatest Common Divisor' and 'Least Common Multiple'
2025-07-13 19:43:28 -07:00
Keavon Chambers
d6d1bbb1e6
Add editor structure outline to the developer guide on the website
2025-07-12 23:09:29 -07:00
Keavon Chambers
765092fbe9
Rename the message system's 'data' argument to 'context' ( #2872 )
2025-07-12 22:50:59 -07:00
Keavon Chambers
ceffcfd8df
Update website deployment CI script to output auto-generated code docs artifacts ( #2849 )
2025-07-09 23:51:25 -07:00
Keavon Chambers
d2f8c99744
Avoid panics during document migration
2025-07-08 18:13:05 -07:00
Keavon Chambers
a1d93da532
Fix 'Grid' node migrations breaking up-to-date documents
2025-07-07 18:39:04 -07:00
Keavon Chambers
c2f9a42a8e
Update allowed license signatures
2025-07-06 01:01:44 -07:00
Keavon Chambers
354a68911e
Improve hotkeys with canonical flag, more industry-standard mappings, and fix GRS menu bar labels ( #2827 )
2025-07-04 04:58:52 -07:00
Keavon Chambers
8c5accc069
Clean up node catalog by adding missing units, more tooltips; fix 'Line' node missing parameters ( #2813 )
...
* Fix unit usages
* Add node and parameter doc comments
* Fix the parameters panel for the 'Line' node when added from the graph
* Clean up nodes
* Fix tests
* Update the demo artwork
2025-07-01 07:47:54 -07:00
Keavon Chambers
0febfaf142
Make the node graph unrenderable message less scary
2025-07-01 05:29:09 -07:00
Keavon Chambers
c671705945
New node: 'Index'
2025-07-01 05:25:33 -07:00
Keavon Chambers
d8e15aeb93
Update the video on the project readme
2025-06-30 15:53:02 -07:00
Keavon Chambers
d7fbbac95e
Add videos to the website home page and features page
2025-06-30 10:04:37 -07:00
Keavon Chambers
217d112aae
Update the readme with a new video
2025-06-30 08:02:22 -07:00
Keavon Chambers
1875779b0a
Remove dead code for Imaginate
2025-06-26 18:46:46 -07:00
Keavon Chambers
1a4d7aa23c
Refactor the document upgrading code into a separate migrations file
2025-06-26 18:10:29 -07:00
Keavon Chambers
02afd08c80
Fix 'Scatter Points' node double transformation of points and remove segments connecting the points
2025-06-26 00:19:49 -07:00
Keavon Chambers
4a65ad290c
Fix 'Boolean Operation' node merge-by-distance post-processing
...
Fixes #2750
2025-06-24 18:23:09 -07:00
Keavon Chambers
11ba2cc0fe
New node: 'Split Segments'
2025-06-24 04:55:27 -07:00
Keavon Chambers
fdb09e334b
Improve the categorization across many nodes
2025-06-23 18:52:05 -07:00
Keavon Chambers
59bb3194ca
Fix website donation page to work with responsive design
2025-06-23 03:55:32 -07:00
Keavon Chambers
ae88f4a3de
Replace all hard-coded magic number node input indices with *Input::INDEX constants
2025-06-22 23:18:34 -07:00
Keavon Chambers
b5975e92b2
Combine 'Merge by Distance' nodes with a choice of algorithm; clean up 'Boolean Operation' node result with merge-by-distance
2025-06-22 04:22:39 -07:00
Keavon Chambers
c1b15fcfdf
Fix Ctrl+Space not closing the graph after opening the node creation menu
2025-06-22 03:29:41 -07:00
Keavon Chambers
dc0ae74cab
Fix double-click event firing when dragging number input fields in Chromium
2025-06-22 03:11:57 -07:00
Keavon Chambers
301368a0df
Add basic donation statistics to the website
2025-06-20 04:51:06 -07:00
Keavon Chambers
eda858b6e2
Add support for the 'Boolean Operation' node to accept vector tables, not just groups
2025-06-19 18:58:19 -07:00
Keavon Chambers
96a0dada92
Replace 'Generate Handles' and 'Remove Handles' nodes with 'Auto-Tangents' node; rename vector2 data type to coordinate
2025-06-19 18:56:57 -07:00
Keavon Chambers
cea1a1c6a8
Instance tables refactor part 8: Make repeater nodes use pivot not bbox and output instance type not group; rename 'Flatten Vector Elements' to 'Flatten Path' and add 'Flatten Vector' ( #2697 )
...
Make repeater nodes use pivot not bbox and output instance type not group; rename 'Flatten Vector Elements' to 'Flatten Path' and add 'Flatten Vector'
2025-06-19 18:37:40 -07:00
Keavon Chambers
523cc27523
Improve the spreadsheet visualization details for VectorData
2025-06-19 18:37:39 -07:00
Keavon Chambers
6111440afd
Instance tables refactor part 7: Remove RasterDataType and add Raster<CPU>/Raster<GPU>
2025-06-19 18:37:13 -07:00
Keavon Chambers
5cacab2e39
Instance tables refactor part 7: Rename "ImageFrame" -> "RasterData", "ImageFrameTable" -> "RasterDataType", and "RasterFrame" -> "RasterDataType"
2025-06-19 18:23:53 -07:00
Keavon Chambers
2696abc6b3
Replace Instances<T>::empty() with Instances<T>::default() and make it return an empty table for vector data instead of one empty row ( #2689 )
...
Make Instances<T>::default() return an empty table for everything, even vector, and replace ::empty() with ::default()
2025-06-04 21:00:21 -07:00
Keavon Chambers and hypercube
cb4289169d
Instance tables refactor part 6: unwrap VectorData and ImageFrame from single-row to multi-row tables ( #2684 )
...
* Start refactoring the boolean operations code
* Switch to iterators in the boolean operations code
* Make boolean operations work on rows of a table, not Vecs of single-row tables
* Remove more .transform()
* Simplify brush code
* Attempt to remove .transform() by using Instance<Image<Color>> in brush code, but a regression is introduced
* Improve blend_image_closure
* Simplify
* Remove leading underscore from type arguments
* Remove .transform() from ImageFrameTable<P> and fix Mask node behavior on stencils not fully overlapping its target image
* Remove more .one_instance_ref()
* Fully remove .one_instance_ref() and improve the 'Combine Channels' node robustness
* Fully remove .once_instance_mut()
* Fix tests
* Remove .one_empty_image()
* Make Instances<T>::default() return an empty table for images, but still not yet vector
---------
Co-authored-by: hypercube <0hypercube@gmail.com >
2025-06-04 20:40:15 -07:00
Keavon Chambers
2cee9e24cd
Refactor some more vector nodes to use loops instead of one_instance, as a start to #1834 part 6
2025-05-24 21:33:58 -07:00
Keavon Chambers
63cce26755
Tweak the design of the RadioInput widget
2025-05-24 16:07:01 -07:00
Keavon Chambers
c4678336e5
Add support for clicking checkboxes via their labels ( #2667 )
2025-05-24 04:46:15 -07:00
Keavon Chambers
80f38d91c0
Optimize Poisson-disk point sampling by halving the number of line intersection checks with caching ( #2661 )
2025-05-22 00:07:12 -07:00
Keavon Chambers
899ed5ad85
Tidy up the Layers panel with a new bottom bar
2025-05-21 04:14:01 -07:00
Keavon Chambers
f624edb801
Fix running on the native target without the Linux Wayland platform
2025-05-19 14:24:10 -07:00
Keavon Chambers
e57637aab1
Make builds of the editor and the website serve their own local fonts ( #2186 )
...
* WIP
* Done?
* Install fonts in CI
* Use absolute path so minified inlined CSS works
* Fix Bezier-rs demo fonts?
* Use opsz
* Revert removal of text balancer
* Pull in the text balancer from our static host
2025-05-19 02:38:29 -07:00
Keavon Chambers
a8e209e44c
Remove the old node macro and fix/clean up several raster nodes ( #2650 )
...
* Fix several broken raster nodes and clean up leftover old node system code
* Migrate Brightness/Contrast to the new node macro, and fix it
* Remove last usages of old_node_fn
* Remove old_node_fn
2025-05-17 21:24:32 -07:00
Keavon Chambers
77f8bfd9ed
Improve clarify of type errors and tooltip diagnostics
2025-05-17 16:13:05 -07:00