Commit graph

2382 commits

Author SHA1 Message Date
Dennis Kobert
349ec5da72
Add MemoizeImpure node and cache image base64 in graph (#1595)
* Cache base64 representation of images when converting to graphic group

* Fix build

* Fix build again

* Actually fix it this time

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-02-03 23:16:03 +01:00
Keavon Chambers
8fa46ba63a
Copy to Points node: add scale/rotation randomization parameters (#1592)
* WIP, transforms broken with rot/scale

* Transform around bounding box centre

* Add units and tooltips

---------

Co-authored-by: 0hypercube <0hypercube@gmail.com>
2024-02-01 12:20:35 -08:00
Keavon Chambers
51d6d4d30e Remove Cull node from demo artwork, follow-on to #1538 2024-01-28 23:52:01 -08:00
Keavon Chambers
8a6854e55b Fix long crash stack traces breaking the GitHub URL 2024-01-28 19:25:27 -08:00
Keavon Chambers
6b6accfb91
Add Poisson-disk sampling node and Bezier-rs 0.4 release (#1586)
* Add Poisson-disk sampling node and Bezier-rs 0.4 release

* Additional optimizations

* More performance optimizations with help from 0Hypercube

* Add comments
2024-01-28 02:25:46 -08:00
Keavon Chambers
a7bf6e2459 Fix triple graph evaluation on Windows by removing hash-based ExecutionRequest dedupe 2024-01-27 16:58:15 -08:00
Keavon Chambers
99c199a8f6 Add dev container configuration 2024-01-24 23:04:00 +00:00
Keavon Chambers
63cf31d7d8 Expand website with better proceduralism explanation and documentation 2024-01-20 04:09:53 -08:00
0HyperCube
208e907fa4
Restore select tool functionality and shallow select mode (#1583)
* Restore select tool functionality

* UI tweak

* Change all of the things

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-01-18 22:28:45 +00:00
Keavon Chambers
5c9d3c5d75 UI refinements for radio buttons and the Snapping/Grid popovers 2024-01-18 05:03:43 -08:00
0HyperCube
2df329fc0e Remove old subpath code (#1582) 2024-01-17 20:42:38 -08:00
Keavon Chambers
3f76526d6d Update dependencies and reuse the same usvg version 2024-01-17 20:33:07 -08:00
Keavon Chambers
b4dccb8655 Add a workaround for a Safari rendering bug with floating menus 2024-01-17 00:58:07 -08:00
0HyperCube
002151d9c0
SVG import (#1579)
* SVG import

* Fix error

* Transforms

* Code review nits

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-01-16 17:42:48 -08:00
Keavon Chambers
8eef96511e Improve document tilt and reset 2024-01-15 04:05:36 -08:00
Keavon Chambers
d602603d46 Remove unused DocumentIsDirty 2024-01-15 02:51:40 -08:00
0HyperCube
8df59be1d5
Display graph errors in the viewport (#1577)
* Display graph errors in the viewport

* Polish up the styling

* Clear click targets while graph can't be rendered

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-01-15 06:18:08 +00:00
0HyperCube
484acbcde3
New node: Morph (#1576)
* Add morph node

* Range slider time parameter, better lerping

* Lerp more fill and stroke parameters

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-01-13 23:35:40 -08:00
0HyperCube
768bbe820d
Preserve group IDs in the Spline from Points node (#1574) 2024-01-14 00:49:52 +00:00
0HyperCube
c777d4d430
Work around the weird treatment of the primary input (#1575)
* Work around the weird treatment of the primary input

* take2
2024-01-14 00:35:45 +00:00
0HyperCube
e242ce26a0
Fix circular repeat node without bounding box (#1571) 2024-01-14 00:23:13 +00:00
0HyperCube
e868bf9532
Fix path tool neighbours for normal snapping (#1570) 2024-01-13 16:08:34 -08:00
0HyperCube
47b3355950
Remove FillType::None for the fill node (#1572)
* Remove FillType::None for the fill node

* Fix demo art
2024-01-13 15:52:10 -08:00
0HyperCube
e0adf1040f
Fix graph UI not rerendering (#1568) 2024-01-13 16:25:08 +00:00
0HyperCube
1ac7b92b45
Fix inferred types memory leak (#1566) 2024-01-13 16:22:35 +00:00
0HyperCube
bf0ec2c9c8
Snapping improvements (#1567) 2024-01-13 08:10:24 -08:00
0HyperCube
456ca170a4
Layer and grid snapping systems (#1521)
* Grid overlays

* Rectangle tool basic snapping

* Fix bezier demos

* Fix bézier crate tests

* Constrained snapping for circle & shape tool

* Line tool snapping

* Pen tool snapping

* Path tool snapping

* Snapping whilst dragging layers (not constrained)

* Constrained drag

* Resize snapping

* Normal and tangent

* Cleanup

* Grid snapping

* Grid snapping

* Fix imports

* Fix bug in artboard tool

* Fix hang on 0 size grid spacing

* Fix NaN when scaling

* Polishing

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-01-13 14:32:10 +00:00
Keavon Chambers
78a1bb17cd Move selected node list from DocumentMetadata to the document (#1565) 2024-01-13 04:52:47 -08:00
Keavon Chambers
aab0fcf84c
Update graph UI and improve simplicity and robustness of sending graph and layer panel updates (#1564)
* WIP

* Fix loading the structure of layers

* Fix broken indents

* Remove debugging stuff

* Fix displaying errors and node graph UI fixes/improvements

* Fix compilation failure

---------

Co-authored-by: 0hypercube <0hypercube@gmail.com>
2024-01-13 04:15:36 -08:00
0HyperCube
83116aa744
Fix selecting upsidedown layers (#1560) 2024-01-12 02:27:08 -08:00
Keavon Chambers
45de49fa03 Show off procedural generation on the website 2024-01-08 10:49:25 -08:00
Keavon Chambers
1727694dfc Fix a couple frontend rendering flaws 2024-01-07 07:36:36 -08:00
0HyperCube
6a10bcc3fc Bezier-rs: add Tangents/Normals to Point functions (#1547)
* Add tangent/normal to point to bézier-rs

* Add license information and general cleanup

* Bump version

* Add iframe demos

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-01-07 06:33:06 -08:00
0HyperCube
c14c6fbe93
Fix text tool broken by #1543 (#1555)
Text tool setting font as f32
2024-01-07 13:45:32 +00:00
0hypercube
cd61daf869 Fix issue with pasting an image in the centre 2024-01-07 05:16:01 -08:00
Keavon Chambers
7998947202 Remove GRAPHITE_DOCUMENT_VERSION 2024-01-06 17:25:05 -08:00
Keavon Chambers
121c1d2b9d
Sample Points node: employ caching and deduplication (#1546)
Sample Points node: split out expensive computation so it can be deduped
2024-01-06 16:07:45 -08:00
Keavon Chambers
93aa10a76f Sample Points node: fix major inefficiencies 2024-01-06 07:55:19 -08:00
Keavon Chambers
c7fd9cfc21 New demo artwork: Procedural String Lights 2024-01-05 15:16:48 -08:00
Keavon Chambers
b3e4caec1a Rename 'Resample Points' to 'Sample Points' 2024-01-05 05:24:16 -08:00
Dennis Kobert
6bfb2bf344
Change number inputs to be f32 instead of f64 for most nodes (#1543) 2024-01-05 13:13:26 +00:00
Keavon Chambers
d268afb7fb Fix Bezier-rs interactive demos and migrate its Webpack bundler to Vite 2024-01-04 23:13:40 -08:00
Keavon Chambers
bbece3fb65 Blog post: Looking back on 2023 and what's next 2024-01-03 08:01:34 -08:00
0HyperCube
7251d81a65
Fix path being closed when resampling (#1542) 2024-01-03 14:39:12 +00:00
Keavon Chambers
ed82c5f20f Copy to Points node: add Start/Stop Offset and Adaptive Spacing parameters 2024-01-03 06:11:42 -08:00
0HyperCube
4c64df038f
Copy to Points node: add support for groups (#1541)
Copy to points by group
2024-01-03 04:21:10 -08:00
0HyperCube
202390e422
Apply transform before copy to points node (#1540) 2024-01-03 09:55:40 +00:00
Keavon Chambers
7fc5879766 Add tutorial 1 to the user manual 2023-12-31 05:23:56 -08:00
Keavon Chambers
84f86aa811 Update the UI screenshots on the website home page 2023-12-30 19:04:14 -08:00
Keavon Chambers
1af6252f2d Redesign the pivot overlay to a yellow crosshair 2023-12-30 18:34:51 -08:00