Keavon Chambers
12453d2e61
Make the welcome screen not include Alt in Ctrl+Alt+N on desktop
2025-11-17 15:26:23 -08:00
Keavon Chambers
e42950b4be
Add support for middle-clicking (and double-clicking) the document tab bar to create a new document ( #3363 )
2025-11-10 00:54:30 -08:00
Timon
f02f834097
Desktop: Add support for UI scaling ( #3310 )
...
* desktop support ui scaling
* fix some warnings
* use browser zoom if needed
* fix infinite footprint size
* fix web canvas scale
* always set zoom
* use only zoom for scaling
* prevent user zoom
* remove mouse position scaling
2025-11-08 12:32:04 +01:00
Keavon Chambers
96d73a8570
Remove the application title from the header bar
2025-11-06 09:20:51 -08:00
Keavon Chambers
f4a0f272dd
Add note about the September 2025 release to the editor welcome screen
2025-09-20 05:20:20 -07:00
Timon
944a6eeea2
Desktop: Hook up native window controls ( #3161 )
...
* Implement window controls
* Fix drag target size
* Maximize with drag area double click
2025-09-13 20:15:52 +00:00
Flo
cf2e525ea9
Fix the ellipses of a long document name causing the tab's unsaved asterisk to be hidden ( #3146 )
...
* Fix unsaved indicator
* Change isSaved to isUnsaved to prevent showing star on tabs like Properties
* Fix CSS
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-09-08 03:40:49 +00:00
Timon
083dfa5f49
Clean up autosave persistence ( #3115 )
...
* Set auto save state to false on document rename
* Update open document list on transaction commit and aboard
* Use current network to compute hash
Was using the last element in undo
Before artworks where not auto saved when the had no undo history
* Refactor persistence
2025-09-02 13:27:38 +00:00
Keavon Chambers
b5ebe78f5e
Update all frontend npm dependencies except Svelte and Vite ( #3120 )
...
* Upgrade node dependencies except Svelte 5 and its peer deps
* Fix lint errors
* Fix previous Rust deps upgrade breakage
* Fix demo artwork
* Allow profiling CI workflow to fail
2025-09-01 17:22:30 -07:00
Timon
ad59e1c622
Desktop: Add window control buttons for Linux ( #3081 )
...
* Add window buttons for linux
* Code and design review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-28 03:53:43 +00:00
Timon
e70862b399
Desktop: Add File > Save As… ( #3034 )
...
* Make file name and document name identical
* Add save as action
* Fix test errors
* Add missing save as action
* Desktop fix drop file open document file message
* Address review comments
* Replace file save suffix with file extension
* Add comment specifying that the upload function takes a html input accept string
* Fix remove file extension in web
* Use let
* Don't show save as menu entry in web
* Don't add SaveDocumentAs in web
* Remove file extension on all open document file calls
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev >
2025-08-20 10:09:01 +00:00
Keavon Chambers
2bb4509647
Replace the Spreadsheet panel with an improved Data panel ( #3037 )
...
* Improve the table data panel
* Add the "Window" menu bar section and polish everything
2025-08-10 07:46:42 -07:00
Keavon Chambers
66cd7a3b76
Desktop: Add the transparent viewport hole punch and hook up window button plumbing ( #2949 )
2025-07-28 02:13:32 -07:00
Keavon Chambers
63cce26755
Tweak the design of the RadioInput widget
2025-05-24 16:07:01 -07:00
Keavon Chambers
d445bffe31
Add donation callouts in-app and on the site
2025-04-25 00:13:24 -07:00
James Lindsay
43275b7a1e
Add the Spreadsheet panel to inspect node output data ( #2442 )
...
* Inspect node ouput stub
* Fix compile error in tests
* Create a table
* Clickable tables
* Add vector data support
* Checkbox to enable the panel
* Remove Instances table ID column; style the spreadsheet
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-03-18 23:06:05 -07:00
Keavon Chambers
ec8c8d6485
Polish and add aborting to several input widgets: no Esc closing parent menus; color picker axis align; repeat on arrow buttons ( #2276 )
...
* Remove color input outline; reduce antialiasing compositing artifacts in color widgets
* Rename ColorButton to ColorInput
* Add features and aborting to several other widgets
- Prevent Esc from closing parent floating menus when aborting
- Fix missing icon regression
- Gutter resizing abort
- Color picker aborts, Shift axis alignment, improve click/drag behavior for gradient spectrum
- Scrollbar abort, repeat when held, fix directional arrows when viewport is zoomed
- Number input abort, repeat when held
* Move ColorInput into the inputs folder
* Fix tiny logo
2025-02-10 05:46:41 -08:00
Keavon Chambers
9ad6c31483
Remove blob URL dead code and clean up more frontend code ( #2199 )
2025-01-14 13:08:47 -08:00
Keavon Chambers
904cf09c79
Add drag-and-drop and copy-paste file importing/opening throughout the UI ( #2012 )
...
* Add file importing by dragging and dropping throughout the UI
* Disable comment-profiling-changes.yaml
* Fix CI
2024-09-28 00:19:43 -07:00
Keavon Chambers
1ee5ffbbe8
Clean up web code errors and make CI enforce them
2024-09-24 01:33:02 -07:00
adamgerhant
0dbbabe73e
Add layer node chains, import/export edge connectors, and refactor graph editing to go thru a NodeNetworkInterface ( #1794 )
...
* WIP: NodeNetworkInterface
* Organize ModifyInputsContext to use network interface
* Improve ClickTarget and Position state
* Rework ClickTarget state
* Continue fixing NodeGraphMessageHandler
* Restructure network_metadata
* Final(?) NodeNetworkInterface struct
* Final(??) NodeNetworkInterface
* Final(???) NodeNetworkInterface. Separated persistent and transient data
* Final NodeNetworkInterface data structure. Implemented all basic getters
* Continue migrating functionality to network interface
* Migrate all NodeGraphMessage's to use network interface
* Fix all helper functions in NodeGraphMessageHandler
* Move document metadata to network interface, remove various cached fields
* Move all editor only NodeNetwork implementations to NodeNetworkInterface
* Fix all DocumentNodeDefinitions
* Rework and migrate GraphOperationMessages to network interface
* Continue migration to NodeNetworkInterface
* Save point before merging master
* Fix all errors in network_interface
* 850 -> 160 errors
* Fix all errors :D
* Render default document
* Visualize click targets
* merge conflicts
* Cache transient metadata separately, store entire interface in document history
* Start migration to storing selected nodes for each network
* Remove selected nodes from document message handler
* Move outward wires and all nodes bounding box to transient metadata
* Fix connecting/disconnecting nodes
* Layer stack organization for disconnecting/connecting nodes
* Basic chain locking
* Improve chain positioning
* Add copy/pasting
* Move upstream nodes on shift+drag
* merge conflict fixes
* Improve Graph.svelte code quality
* Final improvements to Graph.svelte
* Fix layer panel
* Performance optimizations
* Bug fixes and derived PTZ
* Chain organization improvement and bug fixes
* Bug fixes, remove all warnings
* Automatic file upgrade
* Final code review
* Fix editor tests
* Fix compile errors
* Remove select tool intersection check when panning
* WIP: Import/Exports
* Fix JS issues
* Finish simplified import/export UI
* Import/Export viewport edge UI
* Remove minimum y bound on import/export ports
* Improve performance while panning graph
* cargo fmt
* Fix CI code build
* Format the demo artwork graph with chains
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
Co-authored-by: dennis@kobert.dev <dennis@kobert.dev >
2024-08-04 06:47:13 -07:00
Keavon Chambers
06177597ae
Fix viewport bounds getting out of sync at times, like when toggling rulers
2024-07-28 05:42:27 -07:00
Keavon Chambers
19eb6ce0ab
Remove editor instances concept and clean up JS interop code
2024-04-29 04:17:09 -07:00
0HyperCube
b31e8f7b6d
Make menu lists searchable ( #1499 )
...
* Searchable font list
* Bug fixes and UX polish for edge cases
* More work, still more bugs to fix
* Don't update highlight when not open
* Bug fixes
* Additional bug fixes and code review
* Fix keyboard input being sent to backend
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-03-09 10:58:13 +00:00
zhiyuan
9530e55ace
Split widget callbacks into update and commit so only the latter adds a history state ( #1584 )
...
* feat: split commit and update layout
* feat: add on_commit callback
* Code review
* fix: refactor
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2024-02-05 01:32:15 -08:00
Keavon Chambers
96b5d7b520
Many subtle improvements to the UI design system ( #1537 )
2023-12-28 04:35:20 -08:00
Keavon Chambers
01499de8e7
Make the tool shelf adapt to multiple columns and improve panel scrollbars
...
Closes #176
2023-12-06 02:10:40 -08:00
Keavon Chambers
9c83d054cf
Redesign the Layers panel
2023-12-06 01:52:02 -08:00
Keavon Chambers
3e35abd377
Clean up .graphite file serde encoding
2023-12-06 01:51:48 -08:00
Keavon Chambers
8f9371dad0
Improve navigation footer bar hints
2023-12-06 01:51:30 -08:00
Keavon Chambers
ab3410cffe
Consolidate MenuListButton into TextButton ( #1470 )
2023-11-25 01:56:05 -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
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
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
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
185106132d
Move node graph from panel to overlay on viewport
2023-08-19 01:21:37 -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
9d425db5a4
Rename "Layer Tree" panel to "Layers"
2023-07-28 17:00:06 -07:00
Keavon Chambers
1f5bfdc2e5
Minor UI design style revamp
2023-04-27 02:05:45 -07:00
Dennis Kobert
e6216009ee
Migrate build system from Webpack to Parcel ( #1102 )
...
* Migrate webpack to parcel
* Always colour shell output
* Fix typos
* Fix updateImage function having undefined editorInstance
* Readd webpack for deployment builds (licence checker)
* Only use webpack for license generation
* Re add typscript support
* Fix cloudlare deploy
* Bump wasm-pack version
* Update ci script
* Print versions in ci script
* Use optional-dependencies for wasm-pack
* Execute wget after rust install
* Finding wasm-opt version
* Print wasm-opt version
* Revert test?
* Try to revert
* Deploy cloudflare via github actions
* Fix indentation in ci script
* Change project to graphite-dev
* Trigger ci
* Parcel ci (#1152 )
* CI Test
* Add write permissions for pr
* Manually add cloudflare ci comment to prs
* Unskip cargo about
* Make compile on new versions of npm
* Add deployment script to rebuild editor.graphite.rs on tag creation
* Remove deploy script
* Comment out unused Svelte props causing warnings
* Many small fixes, including fixing @ imports
---------
Co-authored-by: hypercube <0hypercube@gmail.com >
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2023-04-25 00:43:27 +02: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
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
bfbabbc4dc
Fix remaining known Svelte UI regressions
...
Closes #1040
2023-03-20 21:26:33 -07:00
Keavon Chambers
29af355f20
Fix Eyedropper tool and make Svelte's bind:this more robust
2023-03-11 12:32:01 -08:00
Keavon Chambers
5748d9bff4
Assorted code file cleanup following Svelte switch
2023-03-10 15:48:04 -08:00
Keavon Chambers
6e20ea538b
Replace the Vue frontend with Svelte
2023-03-10 03:54:39 -08:00
Keavon Chambers
e539e43483
Rename .vue files to .svelte for diffing
2023-03-10 03:53:15 -08:00
Keavon Chambers
2327524690
Move JS script to the top of each Vue file
2023-03-10 03:44:49 -08:00
Keavon Chambers
54f438642b
Fix some paper cuts
2022-12-22 23:53:36 -08:00