Keavon Chambers
0ba0b2e309
Implement the correct Brightness/Contrast node algorithm ( #1130 )
...
Implement correct brightness/contrast algorithm
2023-04-15 05:15:58 -07:00
0HyperCube
0e97f352e9
Serialize images as base64 by rounding channels from floats to u8 ( #1120 )
...
Serialise images as base64
2023-04-13 20:03:25 +01:00
Dennis Kobert
79dade24e5
Fix opacity blending on colored brush strokes ( #1119 )
...
Make apply opacity function use associated alpha
2023-04-13 10:44:33 +02:00
Christopher Mendoza
951d9912bf
Switch nudging from viewport pixels to local pixels ( #1114 )
...
Nudging is now based on local pixel dimensions
2023-04-12 11:44:00 -07:00
0HyperCube
ed6140b4a7
Brush tool live preview ( #1116 )
...
* Disable vector preview for brush tool
* Fix brush preview
* Fix warping
* Left and right square brackets to change size
* Add linear interpolation
* Modfiy existing selected brush layer
* Resolve warnings
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-04-12 18:50:42 +01:00
Keavon Chambers
c7d14c2a7b
Fix Levels and Exposure adjustment nodes ( #1112 )
...
* Step Imaginate resolution by 64
* Fix the Exposure node
* Change comments and variable names
2023-04-11 01:52:44 -07:00
Dennis Kobert
589ff9a2d3
Implement the Brush tool ( #1099 )
...
* Implement Brush Node
* Add color Input
* Add VectorPointsNode
* Add Erase Node
* Adapt compilation infrastructure to allow non Image Frame inputs
* Remove debug output from TransformNode
* Fix transform calculation
* Fix Blending by making the brush texture use associated alpha
* Code improvements and UX polish
* Rename Opacity to Flow
* Add erase option to brush node + fix freehand tool
* Fix crash
* Revert erase implementation
* Fix flattening id calculation
* Fix some transformation issues
* Fix changing the pivot location
* Fix vector data modify bounds
* Minor fn name cleanup
* Fix some tests
* Fix tests
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: hypercube <0hypercube@gmail.com>
2023-04-11 10:35:21 +02:00
0HyperCube
758f757775
Fix the properties when loading a saved document ( #1111 )
2023-04-11 08:31:03 +01:00
Keavon Chambers
ce76dbee6a
Rename the Downscale node to Downres
2023-04-09 15:22:22 -07:00
0HyperCube
a58d51d685
Add cache clearing to stop the memory leak ( #1106 )
...
* Add cache clearing
* Add TODO comment
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-04-09 23:30:57 +01:00
isiko
9c4164291c
Add the Mask node ( #1080 )
...
* Add MaskImageNode
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2023-04-09 04:56:03 +02:00
Keavon Chambers
ea02a2d53a
Fix crash upon setting stroke color to none
2023-04-06 18:11:45 -07:00
Keavon Chambers
c16ee88b5d
Fix some fatal failures related to rendered frame memory size limits
2023-04-02 18:31:41 -07:00
Keavon Chambers
1b50878f3f
Prevent rendering when transforming frame layer
...
Reduces confusion from rendering lag and lessens the opportunity to build up leaked memory from the present lack of node graph cache eviction
2023-04-06 11:53:12 -07:00
Keavon Chambers
4bdb026d9a
Update the website with some new content
2023-04-05 02:34:16 -07:00
Keavon Chambers
a74376e224
Prevent browser extensions from recoloring the UI
2023-04-04 18:32:27 -07:00
Keavon Chambers
a0a5f02e2a
Change the edit icon used in Imaginate
2023-04-03 14:16:46 -07:00
Keavon Chambers
0a9427fe6e
Polish node graph frames and rename them for clarity ( #1104 )
...
* Polish layer panel UI and layer type icons/text
* Assorted UI text and comment cleanup
* Insert Transform node before Imaginate node via tool
* Rename "Node Graph Frame" to Layer type and Frame tool
* Rename "Node Graph Frame" to "Frame" tool
* Update Node Graph Frame -> Frame tool icon
* Fix lint warnings
2023-04-03 01:52:25 -07:00
0HyperCube
d710285029
Fix regressions introduced in the vector nodes migration ( #1100 )
...
* Fix double click to enter path tool
* Fix error
* Fix transform bug
* Fix squaring scale on images
* Shift node position and refresh graph
* Downscale node seperate
* Fix mirror
* Remove duplicate transform
* Always show node graph
* Correctly set freehand and spline tool positions
* Run cargo format
* Maybe fix the scale
* Downscaled image is always smaller than origional
* Fix one crash
* Don't show node graph on welcome screen
* Reduce default graph panel height
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-03-31 21:15:49 +01:00
Keavon Chambers
92fe0bea50
Bezier-rs: Replace Vue-CLI with Webpack bundler
2023-03-29 16:58:51 -07:00
Keavon Chambers
c770cd906e
Bezier-rs: Fix visualizing negative curvature on demo site
2023-03-28 17:54:11 -07:00
Keavon Chambers
3cf955e5bb
Bezier-rs: Release version 0.2
2023-03-28 12:37:52 -07:00
isiko
d0863165a4
Add Range parameter to the Threshold node ( #1079 )
...
* Add Range
* Naming, order, and defaults
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-03-28 09:06:24 +02:00
Hannah Li
97be83c404
Bezier-rs: Implement miter-limit ( #1096 )
...
* Implement miter-limit approximation
* Refactor to use Join enum and address other comments
* Rustdocs improvements
* Tweaks
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-03-27 22:58:35 -04:00
Linda Zheng
3733804d18
Bezier-rs: Add lookup table function for subpath and make it support euclidean parameterization ( #1082 )
...
* Add euclidean option for lut
* Add lut for subpath
* Fix rust formatting
* Fixed breakages caused by UI updates
* Code cleanup
* Make ProjectionOptions optional
---------
Co-authored-by: Rob Nadal <robnadal44@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-03-27 21:05:00 -04:00
Linda Zheng
d0ac86b713
Bezier-rs: Add curvature and rotate functions to subpath ( #1081 )
...
* Add rotate and curvature
* Fix comments
* Fix case where curve is linear
* Address comments
* Fixed breakages caused by UI updates
* Scootch rotation point to center in frame
* Code review
* Visualize t value point when segment is linear
---------
Co-authored-by: Rob Nadal <robnadal44@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-03-27 19:35:57 -04:00
Rob Nadal
3f8adbafba
Revert @graphite/ path imports in website ( #1095 )
...
Reverted @graphite path imports
2023-03-27 16:39:48 -04:00
Hannah Li
c0576ab4e0
Bezier-rs: Add joins and caps to offsets and outlines ( #1083 )
...
* Intial work
* Improve miter and add round join
* Get arcs to go opposite direction
* Add cap and other refactors
* Rename joint to join, fix some bugs
* Fix single point issue
* Clean up
* Fix iframe sizes and update UI
* Address comments and handle single point outline
* Rename variables, fix branches in outline
* Address comments
2023-03-27 16:25:08 -04:00
Keavon Chambers
7e124c8035
Update readme and Task Board links
2023-03-27 11:13:53 -07:00
Sahra Zhou
dbcb854cd2
Fix crash when scaling something with 0 width or height ( #1078 )
...
* resolve NaN value when trying to change scale value from zero to other numbers
* resolve NaN value when trying to change scale value from zero to other numbers
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-03-26 15:20:00 -07:00
Keavon Chambers
d6ab417bcb
Code review previous commit, and improve G/R/S hints
2023-03-26 11:49:25 -07:00
0HyperCube
959e790cdf
Migrate vector data and tools to use nodes ( #1065 )
...
* Add rendering to vector nodes
* Add line, shape, rectange and freehand tool
* Fix transforms, strokes and fills
* Migrate spline tool
* Remove blank lines
* Fix test
* Fix fill in properties
* Select layers when filling
* Properties panel transform around pivot
* Fix select tool outlines
* Select tool modifies node graph pivot
* Add the pivot assist to the properties
* Improve setting non existant fill UX
* Cleanup hash function
* Path and pen tools
* Bug fixes
* Disable boolean ops
* Fix default handle smoothing on ellipses
* Fix test and warnings
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-03-26 08:03:51 +01:00
Andre Roelofs
639a24d8ad
Replace TS relative @ import path ( #1087 )
...
Migrated the import shortcut used in Svelte from @ to @graphite for better future package compatibility
Co-authored-by: Andre Roelofs <andreroelofsai@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-03-26 01:39:38 +01:00
Keavon Chambers
5c0a075313
Upgrade cargo dependencies ( #1090 )
2023-03-25 17:29:49 -07:00
Keavon Chambers
b9374ff88b
Add Imaginate help docs link to UI
2023-03-25 01:04:58 -07:00
Keavon Chambers
6438a2a403
Update website mockup images
2023-03-22 09:35:32 -07:00
Keavon Chambers
d4e8a5545d
Skip showing auto-save document old version error
2023-03-21 09:18:28 -07:00
Keavon Chambers
089df947ac
Remove leftover debug logs
2023-03-21 00:41:39 -07:00
Rob Nadal
834cb1a227
Bezier-rs: Update interactive demo site UI/UX ( #1085 )
...
* wip - change demo iframe styling
* fix typo
* change tVariant select from radio buttons to dropdown
* Added iframe styling
* fix linting errors
* Integrated tvariant picker as input options
* Updated points in demos
* Lint
* Clean up CSS
---------
Co-authored-by: Thomas Cheng <contact.chengthomas@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-03-21 01:23:02 -04:00
Keavon Chambers
bfbabbc4dc
Fix remaining known Svelte UI regressions
...
Closes #1040
2023-03-20 21:26:33 -07:00
0HyperCube
9c10d18308
Imaginate node fixes ( #1084 )
2023-03-18 20:34:42 +00:00
Dennis Kobert
fe233504ca
Downscale Images to document resolution ( #1077 )
...
* Add DownscaleNode
* Add lambda (call argument) input type + fix caching
* Add comment explaining Lambda input
* Automatically insert cache node after downscale node
* Implement sparse hashing of images
2023-03-15 12:49:56 +01:00
Alexandru Ică
0a775fe9be
Take the transform of the ImageFrame into account when blending ( #1072 )
...
* Take the transform of the ImageFrame into account when blending
The implementation computes the axis-aligned bounding box after we transform
the corners of the source image, and then iterates through that box
and computes the inverse of the affine transform of the source image.
The samples are taken based on the u/v coordinates, so that the differences
in size/aspect ratio between the images don't matter.
This makes for a much simpler implementation, and gives us the flexibility
to add different filtering methods in the future, for example.
Signed-off-by: Ică Alexandru-Gabriel <alexandru@seyhanlee.com>
* Name the parameters for the blend node properly
This avoids confusion between which one of the images is the `source`
image and which one is the `destination`.
Signed-off-by: Ică Alexandru-Gabriel <alexandru@seyhanlee.com>
* Remove rendundant computation for u/v coordinates
Signed-off-by: Ică Alexandru-Gabriel <alexandru@seyhanlee.com>
* Rewrite the sampling/clamping logic
* Add image frame transform node
* Move transform node to transform module
* Fix a few issues with our transformation logic
* Fix math + do cleanup
---------
Signed-off-by: Ică Alexandru-Gabriel <alexandru@seyhanlee.com>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2023-03-15 12:48:13 +02:00
0HyperCube
fb6ca73808
Make image downscaling have a configurable factor ( #1044 )
...
Remove downscaling
2023-03-12 06:42:44 +00:00
Keavon Chambers
29af355f20
Fix Eyedropper tool and make Svelte's bind:this more robust
2023-03-11 12:32:01 -08:00
Christopher Mendoza
919779130f
Add Deepest and Shallowest selection to the Select tool ( #1016 )
...
* Single-clicking shape now selects the parent folder
* Added Ratio Button for Layer/Group. Task 1 Done
* All 3 bullet points been checked.Needs refactoring
* Refactored Code + Added descriptive comments
* Reduced code, removed comments, moved/renamed enum
* Hints now change based on selection behavior
* refactored updating hints based on layer behavior
* Updated hints and shift click for shallow select
* fixed cargo check warnings
* shift deselect works. Checking for edge cases
* Fixed the first 5 bullet points suggestions.
* Fixed double click issue
* Double click on shape switches to path tool
* updated deepest select and its hints
* Reworked logic for single click for shallow select
* Fixed CargoCheck warnings + Hypercube suggestions.
* Fix append -> push
* Break out two functions
* Split out big code blocks into functions
* Edit hint text
* Assorted code quality cleanup
* Combine duplicate impl blocks
* Add todo for future code cleanup
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-03-11 02:29:20 -08:00
Keavon Chambers
7f4602ed20
Fix import being lost when running 'cargo fix' due to feature flag
2023-03-11 01:49:00 -08:00
Keavon Chambers
5748d9bff4
Assorted code file cleanup following Svelte switch
2023-03-10 15:48:04 -08:00
0HyperCube
c32010071e
Move G/R/S to tools folder ( #1076 )
...
* Move G/R/S to tools folder
* Fix bad cache
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-03-10 23:06:31 +00:00
Keavon Chambers
74d761dc84
Remove all references to Vue
2023-03-10 04:02:02 -08:00