Keavon Chambers
4ea01345c2
Add !build-profiling command in PRs to request builds in profiling mode
2023-11-26 05:39:55 -08: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
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
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
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
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
e54a2e2fc6
Remove the Frame tool
2023-11-04 03:04:26 -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
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
ee08938bb0
Rename 'Grayscale' node to 'Black & White'
2023-10-24 21:22:22 -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
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
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
hypercube
40aab0332a
Fix eyedropper tool
2023-10-17 11:02:06 -07:00
0hypercube
4cd72edb64
Initial work migrating vector layers to document graph
...
* Fix pen tool (except overlays)
* Thumbnail of only the layer and not the composite
* Fix occasional transform breakages
* Constrain size of thumbnail
* Insert new layers at the top
* Broken layer tree
* Fix crash when drawing
* Reduce calls to send graph
* Reduce calls to updating properties
* Store cached transforms upon the document
* Fix missing node UI updates
* Fix fill tool and clean up imports and indentation
* Error on overide existing layer
* Fix pen tool (partially)
* Fix some lints
2023-10-17 11:02:06 -07:00
mobile-bungalow
9667e5173b
Allow toggling smooth/sharp angle from the path tool options bar ( #1415 )
...
* menu in option
* smoothing controls work
* fixed type error
* fix flipping behavior
* silence warning
* consolidate selection state
* update positions options
* blinking logic fixed, smoothing logic implemented
* fixed arbitrary looping when flipping from sharp to smooth
* remove warning
* Tidying up
* refactor manipulator smoothing code, remove bitflags, rename
* Make the point smooth/sharp support mixed better
* Code review tweaks
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-09-11 17:36:08 -07:00
Keavon Chambers
88bdf9580f
Make RadioInput accept optional selected_index
2023-09-11 15:40:05 -07:00
Keavon Chambers
ee1a228bfd
Fix regression blocking inputs in the graph
2023-09-02 00:19:03 -07:00
Keavon Chambers
b30488bbb7
Add support for handling MMB/RMB double click inputs ( #1407 )
...
* Add support for handling MMB/RMB double click inputs
* Add todo comment
* Enforce types
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
2023-09-01 14:57:03 -07:00
Keavon Chambers
a112ab27cf
Dialog redesign and content revamp ( #1409 )
...
* Revamp the content and design of dialogs
* Add the Licenses dialog
2023-09-01 01:58:20 -07:00
0HyperCube
e77782aadb
Remove console spam ( #1400 )
...
* Remove console spam
* CSS Style
* Slight cleanup
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-08-27 16:12:32 -07:00
0HyperCube
b881385e3b
Update wasm-bindgen, syn and wgpu ( #1398 )
2023-08-23 14:53:56 +00:00
Keavon Chambers
cc0192977d
Add demo artwork open links to website
2023-08-22 03:41:19 -07:00
Keavon Chambers
0dcfafbf64
Add demo artwork
2023-08-22 03:26:59 -07:00
Keavon Chambers
0e97a256b7
Fix node colors; fix spacebar not closing graph
2023-08-20 23:32:27 -07:00
Keavon Chambers
980b692d46
Fix graph view button hotkey tooltip; fix layer CSS bug
2023-08-19 17:04:09 -07:00
Keavon Chambers
185106132d
Move node graph from panel to overlay on viewport
2023-08-19 01:21:37 -07:00
Dennis Kobert
d74e4b2ab3
Disable parcel cache for the dev server
2023-08-19 01:10:19 +02:00
Keavon Chambers
5a7d230156
Improve the layers UI in the node graph
2023-08-18 14:26:59 -07:00
nat-rix
dc4b16aead
Curves image adjustment node ( #1214 )
...
* Create ValueMapperNode and use it for brightness/contrast
* move spline code into seperate module
* Add GenerateCurvesNode
* add a `LuminanceMut`-trait
* add `lerp` to `Channel`
* Add frontend code to handle the curves widget's inputs
* Rename spline module to curve
* Make messages in CurveInput pass
* Improve curves widget design and fix sizing issue
* Implement proper bezier handling
* Use bezier_rs's intersections function instead of own cubic root solver
* Debounce CurveInput events and change how debouncer works
the first event issued to the debouncer was unneccessarily delayed.
Instead now the debouncer fires it instantaneously but blocks events
that come in until a timeout was reached.
* Make curve editing more user friendly
* Change code to use project terminology
* sample -> manipulator group or manipulator
* marker -> handle
* Fix small documentation mistake in bezier-rs
* Add find_tvalues_for_x function to bezier-rs
also integrate the function into curves node
* Add tests for find_tvalues_for_x in bezier-rs
* Fix formatting
* Revert BrightnessContrastNode changes
* Frontend cleanup
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2023-08-13 01:07:11 -07:00
Keavon Chambers
cfe38c6413
Fix prod deployment cache issue and analytics templating
2023-08-12 13:44:11 -07:00
Keavon Chambers
f429db6369
Revamp the Graphite website ( #1265 )
...
Revamp the website with more content
2023-08-10 18:37:04 -07:00
Keavon Chambers
f2b0abc164
Roll back node dragging smoothing for now due to wire visual bugs
2023-08-09 01:10:35 -07:00
Keavon Chambers
c653fe9579
Add a few node graph style improvements
...
Also add smoothing to node dragging
2023-08-05 00:55:19 -07:00
Keavon Chambers
3450d638a6
Layer-based nodes redesign, just the basics so far ( #1362 )
...
* Redesign the nodes
* Basic vertical stacking syntax sugar
* Fix node connections
* Primary output and line thickness
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
2023-08-04 14:56:00 -07:00
Keavon Chambers
a267582b4c
Fix tool shelf's scrollbar layout shift
...
Caused by Chromium 113 removing `overflow: overlay;`.
This fixes it for just the tool shelf.
2023-08-03 23:33:24 -07:00
Keavon Chambers
2b05e1c270
Rename Shape tool to Polygon tool
2023-08-01 01:28:14 -07:00
Dennis Kobert
40f9a7d051
Fix index.html to include the favicon ( #1347 )
...
Fix index.html to include the favicon
2023-07-31 10:29:02 -07:00
Keavon Chambers
9d425db5a4
Rename "Layer Tree" panel to "Layers"
2023-07-28 17:00:06 -07:00
Dennis Kobert
1d08959bf8
Bump wasm-pack version ( #1333 )
2023-07-28 02:53:45 +02:00