Commit graph

1136 commits

Author SHA1 Message Date
0HyperCube
09a509c8b5
Preserve exposed state on copy (#1397) 2023-08-23 13:31:51 +01: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
8fbf0cbb69 Improve the Circular Repeat node 2023-08-19 22:46:44 -07:00
Keavon Chambers
980b692d46 Fix graph view button hotkey tooltip; fix layer CSS bug 2023-08-19 17:04:09 -07:00
isiko
a566331f1c
New node: Pixel Noise (#1267)
Add Pixel Noise Node

Currently only White Noise is implemented, but the Code is written so that other's can be added easily
2023-08-19 11:30:03 -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
Keavon Chambers
a871ea6d69 Add auto deployment infrastructure for website 2023-08-16 12:58:42 -07:00
Keavon Chambers
0a7a69b315 Improve website book sidebar and nav ripple 2023-08-15 02:10:10 -07:00
isiko
7558088727
Add more advanced math nodes (#1383)
Added nodes for the following operations:

* Floor
* Ceil
* Round
* Absolute Value
* Logarithm
* Natural Logarithm
* sin
* cos
* tan
2023-08-14 13:43:17 +00:00
Keavon Chambers
2412a3def6 Improve responsive design sizing for website 2023-08-14 03:29:40 -07:00
xkef
c9d3453e46
Fix undo not immediately removing copy/pasted layer (#1381)
Bugfix: Undo does not work when copy/pasting layers (or groups), it should remove the layer that was pasted
2023-08-13 12:47:43 -07:00
Dennis Kobert
752df128e3
Don't include the document node path in the stable node id by default (#1388)
* Don't include the document node path in the stable node id by default

Make the inclusion of the document path for the stable node id optional
and only enable it for the MonitorNode for now

* Fix tests
2023-08-13 10:25:42 +00: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
Omar Magdy
fd338c945f Fix crash from overflowing values given to NumberInput widgets (#1377)
* Added hints for brush tool size

* Added hints for brush tool size

* Solved the user being able to crash the editor by overflowing NumberInputs
2023-08-11 12:26:37 -07:00
Dhruv
1c11ebcc4e Correct snapping offsets after canvas transformation when using snap-reliant tools (#1370)
* fix: pen, spline tool incorrect snap offsets
- re-render snapping offsets if canvas transformed during line draw

* [wip]feat: add CanvasTransformed global message

* [wip]fix: synchronize line tool snap offsets

* fix: update offsets for shape tools on canvas transform

* chore: remove unneeded function parameter

* [wip]fix: use line tool at canvas level

* refactor: revert line tool changes
2023-08-11 12:26:19 -07:00
isiko
2377240d07 Add more math nodes (#1378)
* Adds Max, Min and Equal Nodes

* Add LogToConsoleNode

Logs the data given as the input to the browser console and returns it
as the output
2023-08-11 12:26:13 -07:00
Ezbaze
e820cf48f6
Grayscale Node respects the alpha chanel (#1380) 2023-08-11 08:45:13 +00:00
Dennis Kobert
8f586949a0
Remove unwraps in webgpu checking function (#1382) 2023-08-11 10:33:14 +02:00
Keavon Chambers
7c1198a1b4 Fix website styling bugs caused by Safari 2023-08-10 22:59:24 -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
isiko
77e5ec9d4f
Add bounding box node (#1376)
* Add bounding box node

Generates a rectangle based on the bounding box of the input vector data

* Remove redundant <>

* Fix formatting

---------

Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2023-08-08 18:44:14 +02:00
isiko
f57fa2e7c9
Add Circular Repeat Node (#1373)
* Add Circular Repeat Node

Repeats a given set of Vector Data in a circular pattern a specified
amount of times.

* Remove debug statement from RepeatNode
2023-08-08 16:13:44 +00:00
Ezbaze
5c08248681
Additional Input and Math Nodes (#1369)
* Add Input Nodes and additional Math Nodes

* Add add node to node registry

* Update node-graph/gcore/src/ops.rs

Co-authored-by: Dennis Kobert <dennis@kobert.dev>

* Fix Color Input Node

Wrong input type

* Remove non Parameter variants

* Remove non Parameter variants

* Remove non Parameter variants

* Apply suggestions from code review

* mod to modulo

---------

Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2023-08-08 17:31:50 +02:00
Dennis Kobert
e32d4c29c4
Fix shapes only showing up as outlines on document load (#1375)
No longer treat a graphic group as an error
2023-08-08 14:07:39 +02:00
Dennis Kobert
5b6a74eb38
Manually check if web gpu support is available (#1372)
* Manually check if web gpu support is available

* Add web-sys features

* Disable use of unstable apis for non wasm targets
2023-08-08 14:04:01 +02:00
isiko
48e3f7c54a
Add config for nix-shell (#1359)
* Add config for nix-shell

This adds a development environment for Nix users, which automatically installs all libraries needed for building and fixes some nix stuff.

* Add Mold

This adds the Mold-Linker to improve build times. I also added an alias,
so cargo is run through mold.
2023-08-08 14:03:10 +02:00
Dennis Kobert
388d51deac
Add Vector Repeat Node (#1371)
* Implement skeleton for repeat node

* Implemen RepeatNode
2023-08-07 14:59:58 +02:00
Omar Magdy
8b9f279f12
Add hints for Brush tool resizing (#1363)
Added hints for brush tool size
2023-08-06 15:32:06 -07:00
Dennis Kobert
3262f637d1
Decrease graph compilation time significantly (#1368)
* Decrease compilation time significantly

* Refactor reorder_ids method to improve performance
2023-08-06 21:36:44 +02: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
Dennis Kobert
94a0f8282e
Fix BrushCache serailization (#1358) 2023-08-04 11:34:54 -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
Dhruv
50b67bf6f6
Fix Text Tool Overwriting Existing Text on Editing Text Layer (#1356)
fix: text edit overwriting existing text
2023-08-03 17:08:49 +01:00
Ezbaze
40c26af564
Fix stuck panning after releasing space bar but not LMB (#1353)
Remove modifier from lmb keydown
2023-08-02 22:48:05 -07:00
Ikko Eltociear Ashimine
9b5e897659
Fix typo in proto.rs (#1348)
occured -> occurred
2023-08-01 15:59:42 +00:00
Keavon Chambers
2b05e1c270 Rename Shape tool to Polygon tool 2023-08-01 01:28:14 -07:00
Keavon Chambers
b9e49623a3 Rename PropertyHolder to LayoutHolder 2023-08-01 00:46:30 -07:00
Keavon Chambers
8e87e42f3e Remove widgets built by methods on WidgetHolder 2023-07-31 23:36:12 -07:00
0HyperCube
de27f2c006
Switch to the widget builder pattern on all remaining layouts (#1346)
* Prefer widget builder pattern

* Nits

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-07-31 23:21:42 -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
0HyperCube
2b9337406a
Fix artboard thumbnails (#1342)
* Fix artboard thumbnails

* Use GraphIdentifier instead of option

* Fix warnings introduced by artboard nodes
2023-07-30 19:37:37 +00:00
Keavon Chambers
f151ba39b5
Add checkbox for a transparent BG when exporting image (#1344) 2023-07-30 10:57:07 -07:00
Dennis Kobert
1fc3808b7f Reenable CI for forks and remove duplicate build link comment (#1339)
Reenable ci for forks and remove duplicate comment
2023-07-29 20:06:14 +02:00