Keavon Chambers
4ea01345c2
Add !build-profiling command in PRs to request builds in profiling mode
2023-11-26 05:39:55 -08:00
0HyperCube
94fcd295c5
Avoid unnecessary graph sends to the frontend ( #1476 )
2023-11-25 23:45:30 +00:00
0HyperCube
ee95dac74e
Speed up graph view frontend by removing a querySelectorAll hot path ( #1475 )
...
* Reduce query selector all that was slowing perf
* Speed up double iteration of filter map with flatMap
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-11-25 23:25:58 +00:00
Keavon Chambers
2515620a77
Add math expression evaluation to NumberInput boxes ( #1472 )
...
* Add math expression parsing to NumberInput boxes
* Prevent NaN results
* Add support for implicit multiplication in expressions
2023-11-25 22:37:54 +00:00
Keavon Chambers
ab3410cffe
Consolidate MenuListButton into TextButton ( #1470 )
2023-11-25 01:56:05 -08:00
Keavon Chambers
34c6c0431b
Improve NumberInput with dragging to change value and escape/right-click to abort ( #1469 )
...
* Improve NumberInput with dragging to change value and escape to abort
Closes #1468
* Fix slowing with Shift and integer mode
2023-11-21 17:26:28 -08:00
0hypercube
da4d95fa7b
Fix spline tool deleting layer
2023-11-19 23:09:42 -08:00
0HyperCube
8a1cf3ad5d
Migrate demo artwork and fix all failing CI tests ( #1459 )
...
* Initial work on fixing tests
* Fix formatting
* Remove dead code to satisfy rustc warnings
* Insert into an artboard
* Load updated artwork in editor
* Remove popup when importing image
* Fix up demo art
* Change transform app[lication method
* Reduce number of enums called BlendMode
* Finalize the demo artwork upgrade
* Code review pass
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-11-19 23:06:21 -08:00
Keavon Chambers
719c96ecd8
Rename and reorganize several widgets ( #1462 )
...
* Rename SwatchPairInput -> WorkingColorsButton
* Remove unnecessary Svelte each-loop keys
* Rename (and migrate) MenuBarInput -> MenuListButton
* Rename PivotAssist -> PivotInput
* Rename PersistentScrollbar -> ScrollbarInput and CanvasRuler -> RulerInput
* Rename DIalogModal -> Dialog
* Rename WidgetRow -> WidgetSpan
2023-11-18 04:34:30 -08:00
Keavon Chambers
e3f5e7001f
Redesign ColorInput widget and rename it to ColorButton
2023-11-16 18:38:39 -08:00
0HyperCube
8a816cd701
Fix crash on deleting all subpaths ( #1460 )
...
* Fix crash on deleting all subpaths
* Delete layer if no manipulators exist
2023-11-16 15:42:21 -08:00
Keavon Chambers
de235e3be1
Fix Bezier-rs interactive demo page build failure
2023-11-16 15:21:15 -08:00
Keavon Chambers
a6ca43bb2d
Restore ESLint and Prettier auto-formatting and CI linting ( #1457 )
...
* Restore ESLint and Prettier autoformatting
* Fix formatting and lints in web files
* Hacky fix to eslint crash
* Fix remaining lints
* Add lint-fix script
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
2023-11-16 13:12:47 -08:00
Dennis Kobert
9784d31edb
Fix test compilation and allow the ci to run ( #1456 )
...
* Fix test compilation
* Don't fail if .wasm-pack dir does not exist
2023-11-14 23:01:40 +01:00
Dennis Kobert
81519601ae
Store Input for Monitor Nodes ( #1454 )
...
* Add input storage to monitor_node
* Return input via serialize function
2023-11-14 21:17:50 +01:00
0HyperCube
58660f5548
Allow groups to work with the node graph ( #1452 )
...
* Initial groups
* Improve graph arangement
* Fix selecting nested layers
* Code review pass
* Change log
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-11-14 17:17:14 +00:00
Keavon Chambers
f4ec76f35e
Replace license generator web infra to use Vite
2023-11-13 03:38:36 -08:00
Thomas Steiner
1f2dfcf372
Fix frontend webmanifest so installing a PWA isn't broken ( #1450 )
...
* Add `"start_url"` and `"id"` to manifest
* Change background color and add screenshot
* Remove screenshot again
2023-11-06 01:35:01 -08:00
Keavon Chambers
605c0de392
Fix Rust code lints ( #1448 )
...
* Fix Rust lints to satisfy Clippy
* Remove some unused commented out code
2023-11-05 13:52:00 -08:00
Matthew Donoughe
f6d104265a
Switch build system to Vite ( #1444 )
...
Switch Parcel to Vite
2023-11-05 03:12:03 -08:00
Keavon Chambers
09743dcdc4
Rename DocumentNodeType to DocumentNodeBlueprint for clarity
2023-11-05 01:24:53 -08:00
Keavon Chambers
377d85e46f
Update funding info on website
2023-11-04 05:52:28 -07:00
Keavon Chambers
e54a2e2fc6
Remove the Frame tool
2023-11-04 03:04:26 -07:00
0HyperCube
e0ac073805
Improve previewing node data ( #1446 )
...
* Improve preview
* Improve contrast
* Restructure in order to duplicate code
* Code review nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-11-04 02:52:26 -07:00
Joel Afriyie
c823016316
Reimplement Brightness/Contrast node using the Curves node to reduce code ( #1434 )
...
* using cubic spline from curves
* updating to fix tests
2023-11-02 08:21:11 +00:00
0HyperCube
380bc19b09
Remove explicit empty stack nodes ( #1445 )
...
* Remove explicit empty stack nodes
* Code review stylistic simplifications
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-10-28 20:41:31 -07:00
0HyperCube
ceb2f4c13f
Add more details to Graphene concept documentation ( #1437 )
...
* Start improving node system docs
* Add note on debugging
* Explain testing protonodes
* Code review comments
* Review pass
* Further improve explanation of manual_compostion
* Fix explanation of ComposeNode graph rewriting
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-10-27 19:21:15 -07:00
Keavon Chambers
bfb6df3b74
Update the website's roadmap
2023-10-27 15:46:50 -07:00
0HyperCube
9b034a5194
Fix deleting layers ( #1441 )
...
* Fix deleting layers
* Code review comments
2023-10-25 15:20:55 -07:00
0HyperCube
2feef62f23
Fix the Eyedropper tool ( #1440 )
...
* Fix eyedropper
* Remove dead code
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-10-25 17:18:15 +01:00
0HyperCube
54745e210a
Fix the Path tool's smooth/sharp buttons ( #1439 )
...
* Fix select tool smooth button
* Nit
* Fix behavior when zero points are selected but the shape is active
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-10-25 09:26:24 +01:00
Keavon Chambers
c4bea2b400
Clean up code for optional node inputs/outputs
...
This removes the unused Split Channels node's primary output
2023-10-24 22:26:34 -07:00
Keavon Chambers
bafde43145
Add comments to help explain Graphene concepts
2023-10-24 22:26:08 -07:00
Keavon Chambers
ee08938bb0
Rename 'Grayscale' node to 'Black & White'
2023-10-24 21:22:22 -07:00
Keavon Chambers
1bab2affdb
Remove dead code from overlay graph view state tracking
2023-10-24 21:09:02 -07:00
0HyperCube
6ff958d6ae
Create node by dragging link into empty space ( #1438 )
...
* Create node by dragging into empty space
* Prevent add menu when disconnecting a link
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-10-24 13:22:41 -07:00
0HyperCube
b8906f344e
Migrate the Text tool to the document graph ( #1435 )
...
* Update text tool to document graph
* Fix selection issue
* Log graph reruns and text node evals
* Hash to set node
* Fix let node crash
* Fix loading document with fonts
* Allow pressing enter to edit
* Cleanup
* Code review nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-10-24 12:55:13 -07:00
Yuri Astrakhan
3d4e3a74e5
A few minor lints and docs ( #1436 )
...
* A few minor lints and docs
* Added required packages to compile on Debian-style linux
* Inlined some format args, and removed some `&` in args (they cause about 6% slowdown that compiler cannot inline)
* a few spelling mistakes
* fix fmt
2023-10-18 23:33:10 -07:00
Rob Bertram
67edac4aca
Move DeleteLayer to come before SelectionChanged on DeletedSelectedLayers ( #1417 )
...
* ignore render subpaths overlays if layer no longer exists
* make selection change event added after delete layers
---------
Co-authored-by: 0HyperCube <78500760+0HyperCube@users.noreply.github.com>
2023-10-18 18:32:10 +01:00
0HyperCube
5827e989dc
Migrate the Select tool to the document graph ( #1433 )
...
* function for accessing document metadata
* Better select tool
* Fix render
* Fix transforms
* Fix loading saved documents
* Populate graph UI when loading autosave
* Multiple transform nodes
* Fix deep select
* Graph tooltips
* Fix flip axis icon
* Show disabled widgets
* Stop select tool from selecting artboards
* Disable (not hide) the pivot widget; remove Deep/Shallow select for now
* Code review changes
* Fix pivot position with select tool
* Fix incorrectly selected layers when shift clicking
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-10-17 11:09:32 -07:00
Dennis Kobert
e1cdb2242d
Lay Groundwork for Rust-based SVG rasterization ( #1422 )
...
* Add functions for constructing a usvg tree
* Actually encode the image in the usvg tree
* Implement path translation
* Render document using resvg
2023-10-17 11:02:07 -07:00
Dennis Kobert
34f2d61257
New node: Mandelbrot ( #1421 )
...
* Implement Mandelbrot node
* Make mandelbrot monochrome
* Remove log statements
2023-10-17 11:02:07 -07:00
Dennis Kobert
833f41bccb
Insert pasted images as layers in document graph ( #1418 )
...
Changes:
Graph is evaluated on every viewport change
move all navigation logic into the viewport
reduce the number of js roundtrips
add canvas rendering
enable image pasting
various cleanups
Fix cache nodes being reset every evaluation
2023-10-17 11:02:07 -07:00
Dennis Kobert
d82f133514
Lay groundwork for adaptive resolution system ( #1395 )
...
* Make transform node accept footprint as input and pass it along to its input
use f32 instead of f64 and add default to document node definition
* Add cull node
* Fix types for Transform and Cull Nodes
* Add render config struct
* Add Render Node skeleton
* Add Render Node to node_registry
* Make types macro use macro hygiene
* Place Render Node as output
* Start making DownresNode footprint aware
* Correctly calculate footprint in Transform Node
* Add cropping and resizing to downres node
* Fix Output node declaration
* Fix image transform
* Fix Vector Data rendering
* Add concept of ImageRenderMode
* Take base image size into account when calculating the final image size
* Supply viewport transform to the node graph
* Start adapting document graph to resolution agnosticism
* Make document node short circuting not shift the input index
* Apply clippy lints
2023-10-17 11:02:07 -07:00
0hypercube
239ca698e5
Fix navigate and rulers
2023-10-17 11:02:06 -07:00
0hypercube
b52f831b21
Fix artboard tool and remove old artboard code
2023-10-17 11:02:06 -07:00
0hypercube
9a39c4a0cc
Fix gradient tool
2023-10-17 11:02:06 -07:00
0hypercube
6173662a40
Fix freehand and spline tool
2023-10-17 11:02:06 -07:00
hypercube
76d7b6256d
Fix positioning of new layer nodes after rebase
2023-10-17 11:02:06 -07:00
hypercube
40aab0332a
Fix eyedropper tool
2023-10-17 11:02:06 -07:00