Keavon Chambers
cafa2e61dc
Update npm dependencies
2022-07-23 15:31:02 -07:00
Keavon Chambers
f3bdf970f4
Implement File > Import and fix Ctrl+O to Open hotkey
...
Closes #671
2022-07-23 15:17:20 -07:00
Keavon Chambers
08a81002ff
Hide canvas zoom widget automatically when zero
2022-07-22 23:09:45 -07:00
Keavon Chambers
4fa7a81f61
Fix broken BigInt64Array unsupported message on old Safari
2022-07-07 10:58:29 -07:00
Keavon Chambers
b4a24d7d83
Fix website styling
2022-06-29 18:47:05 -07:00
Keavon Chambers
2052c00010
Fix DropdownInput repeated change emitting
2022-06-19 19:34:59 -07:00
Keavon Chambers
a443de8342
Implement the Edit > Paste menu entry ( #683 )
...
Closes #682
2022-06-19 00:53:33 -07:00
Keavon Chambers
63fd5e87ab
Change MenuList checkbox to be an icon from a widget
2022-06-17 17:55:04 -07:00
Keavon Chambers
4924d7ede7
Add code style formatting to the website
2022-06-16 22:57:15 -07:00
Keavon Chambers
04d6bd9190
Update npm dependencies ( #678 )
2022-06-13 12:32:01 -07:00
Keavon Chambers
e6d096f73e
Update banner for the lastest blog post
2022-06-06 16:09:42 -07:00
Keavon Chambers
811ca391ac
Update readme
2022-05-26 00:28:29 -07:00
Keavon Chambers
eca9797597
Refactor source of Git commit build info ( closes #661 )
2022-05-24 14:33:58 -07:00
Keavon Chambers
bec7a4c109
Add frontend file structure docs and some related cleanup
2022-05-23 19:24:31 -07:00
Keavon Chambers
ab77105ffb
Reorganize Vue components and add documentation explaining each folder
2022-05-23 19:22:41 -07:00
Keavon Chambers
2c2d7bd137
Update the assets directory to prefix icon folders with "icon-"
2022-05-23 18:56:33 -07:00
Keavon Chambers
ef53577b20
Vue initialization and FloatingMenu codebase refactoring and cleanup ( #649 )
...
* Clean up Vue initialization-related code
* Rename folder: dispatcher -> interop
* Rename folder: state -> providers
* Comments and clarification
* Rename JS dispatcher to subscription router
* Assorted cleanup and renaming
* Rename: js-messages.ts -> messages.ts
* Comments
* Remove unused Vue component injects
* Clean up coming soon and add warning about freezing the app
* Further cleanup
* Dangerous changes
* Simplify App.vue code
* Move more disparate init code from components into managers
* Rename folder: providers -> state-providers
* Other
* Move Document panel options bar separator to backend
* Add destructors to managers to fix HMR
* Comments and code style
* Rename variable: font -> font_file_url
* Fix async font loading; refactor janky floating menu openness and min-width measurement; fix Vetur errors
* Fix misaligned canvas in viewport until panning on page (re)load
* Add Vue bidirectional props documentation
* More folder renaming for better terminology; add some documentation
2022-05-21 19:46:15 -07:00
Keavon Chambers and 0hypercube
a8f09da5a2
Move layouts definitions to backend and fix Firefox overlay scrollbars ( #647 )
...
* Fix two-axis scrollbars in scrollable regions on Firefox
* Move Document Mode dropdown to the backend; and related code cleanup
* Port the Layer Tree options bar layout to the backend
* Port the tool shelf to the backend
* Clean up initialization and wasm wrapper
* Fix crash
* Fix missing document bar
* Remove unused functions in api.rs
* Code review
* Tool initalisation
* Remove some frontend functions
* Initalise -> Init so en-US/GB doesn't have to matter :)
* Remove blend_mode and opacity from LayerPanelEntry
Co-authored-by: 0hypercube <0hypercube@gmail.com >
2022-05-17 13:12:52 -07:00
Keavon Chambers
95435d8bf1
Update the VS Code rust-analyzer extension to its new official owner
2022-05-13 12:09:37 -07:00
Keavon Chambers
6cae6b54b7
Fix website rendering issues on Firefox with -webkit-line-clamp
2022-05-12 14:22:43 -07:00
Keavon Chambers
15641a3d2a
Fix website responsive layouts
2022-05-12 13:08:53 -07:00
Keavon Chambers
e2f616934b
Add Reddit and Twitter links to blog posts
2022-05-12 01:15:56 -07:00
Keavon Chambers
89ed5ac392
Fix website URL encoding in certain links
2022-05-12 01:04:23 -07:00
Keavon Chambers
10e2365536
Blog post updates
2022-05-12 00:45:20 -07:00
Keavon Chambers and 0hypercube
07d5bef125
Build the node graph frontend with placeholder graph info ( #581 )
...
* Build the node graph frontend
* Graph pan and zoom
* Graph's dot grid now pans/zooms also
* Interactive horisontal to vertical curves
* Data types and zooming on wires
* Icon definitions code beautification
* Add a visibility toggle
Co-authored-by: 0hypercube <0hypercube@gmail.com >
2022-05-10 22:34:25 -07:00
Keavon Chambers
be6351573f
Update list of recommended VS Code extensions
2022-05-10 20:39:58 -07:00
Keavon Chambers
8dec73c344
Clean up website file structure
2022-05-10 11:35:39 -07:00
Keavon Chambers
7729b6219e
Move the Layer Tree panel's New Folder and Delete icons into the options bar
2022-05-06 13:19:00 -07:00
Keavon Chambers
8c9caf12c7
Tidy up the full frontend codebase and use optional chaining where possible ( #620 )
...
* Tidy up the full frontend codebase and use optional chaining where possible
* Code review changes
2022-04-30 02:52:53 -07:00
Keavon Chambers and 0hypercube
d1c32ad7d0
Upgrade vue-cli to version 5 ( #594 )
...
* Upgrade to Vue CLI 5 (fails to compile)
* Upgrade versions with last few weeks of changes
* Updated to fork-ts-checker-webpack-plugin 7.2.3
* Remove package.json overrides in lieu of the fixed fork-ts-checker-webpack-plugin@6.5.1
* Fix svg importing
* Comments
* For debugging only: added infrastructureLogging to vue.config.js
* Now works on Windows, waiting on fork-ts-checker-webpack-plugin backport if possible
* Switch to the fixed fork-ts-checker-webpack-plugin@6.5.2
* Fix license checker build compilation
Co-authored-by: 0hypercube <0hypercube@gmail.com >
2022-04-26 01:47:13 -07:00
Keavon Chambers
1bf1687642
Change stroke weight from ints to floats ( #601 )
...
Also rename stroke "width" to "weight" in some places. Closes #587
* Change stroke weight from ints to floats
* "miter_limit" -> "line_join_miter_limit"
* Bump file format version
2022-04-21 13:35:35 -07:00
Keavon Chambers
d65ce17d7e
Rename Crop tool to Artboard tool
2022-04-21 10:52:33 -07:00
Keavon Chambers
9c61fbc936
New blog post: "Distributed computing with the Graphene runtime"
2022-04-18 02:04:22 -07:00
Keavon Chambers
a76bded12f
Expand upon the "Announcing Graphite alpha" blog post
2022-04-14 10:19:09 -07:00
Keavon Chambers
3e2962e36a
Add node graph mockup to website
2022-03-25 02:11:31 -07:00
Keavon Chambers
9af26a3840
Various website fixes
2022-03-17 02:51:37 -07:00
Keavon Chambers
045448a26e
Small website text improvements
2022-03-15 16:06:09 -07:00
Keavon Chambers
a1b91c75c7
Add features page and fixes to website
2022-03-13 11:32:53 -07:00
Keavon Chambers
b4f316c3b9
Add website revisions and many new pages
2022-03-12 08:31:12 -08:00
Keavon Chambers
7b4b0ff06e
Add Image node icon and rename node from Path to Shape
2022-03-05 23:51:59 -08:00
Keavon Chambers
f9012060db
Change tool shelf icon colors to use classes not style
2022-03-05 18:28:41 -08:00
Keavon Chambers
6169a30f6e
Remake node type icons ( closes #483 ); color picker cleanup
2022-03-04 22:48:22 -08:00
Keavon Chambers
d8df4b9369
Reorder tool icons, update favicon and logo, and other icon cleanup
2022-03-04 13:04:59 -08:00
Keavon Chambers
acc02cf743
Set text color based on its fill when it's being edited
2022-03-04 12:15:42 -08:00
Keavon Chambers
f1ddf46109
Update npm dependencies
2022-03-02 22:02:40 -08:00
Keavon Chambers
a62147ce36
Add "New Folder"/"Delete Selected" buttons to layer panel
...
Closes #532
2022-03-02 21:55:40 -08:00
Keavon Chambers
acfa9ecaa4
Add newsletter signup to website
2022-02-19 03:31:02 -08:00
Keavon Chambers
1fd8e9f0e9
Website responsive resizing improvements
2022-02-19 02:16:30 -08:00
Keavon Chambers
8baa1b1213
Create project website with near-complete home page
2022-02-17 03:38:01 -08:00
Keavon Chambers
767b1a01b1
Release Alpha Milestone 1!
2022-02-12 09:31:48 -08:00
Keavon Chambers
c4fdc28449
Polishing: standardize binding JS resize event (fixes non-integer AA rendering); remove "X" to delete; cleanup
2022-02-10 02:29:45 -08:00
Keavon Chambers
cb518c6ce0
Improve Path Tool hint text
2022-02-09 16:52:54 -08:00
Keavon Chambers and mfish33
99bf6c496f
Add the TextInput widget ( #518 )
...
* Separate out the number input from a generic field input
* Add TextInput widget
Co-authored-by: mfish33 <32677537+mfish33@users.noreply.github.com >
2022-02-09 12:16:44 -08:00
Keavon Chambers
4d232e6b46
Solve "Coming Soon" dialog from bubbled click event on sub-menu entries ( #517 )
2022-02-05 13:49:12 -08:00
Keavon Chambers
dd36339605
Rename deployment script
2022-02-03 18:29:02 -08:00
Keavon Chambers and Moritz Vetter
dae79caf15
Implement layer renaming ( #501 )
...
* Implement layer renaming
* Fix sneaky typo in CSS
Co-authored-by: Moritz Vetter <16950410+HansAuger@users.noreply.github.com >
Co-authored-by: Moritz Vetter <16950410+HansAuger@users.noreply.github.com >
2022-01-29 11:04:15 -08:00
Keavon Chambers
c215719598
Clean up web code's use of display CSS properties, using <LayoutRow>/<LayoutCol> where intended
2022-01-23 20:24:50 -08:00
Keavon Chambers
12ef88f261
Move scrollable behavior into LayoutRow/LayoutCol
2022-01-23 15:07:10 -08:00
Keavon Chambers
841f34e797
Fix sorting of message enum variants
2022-01-16 13:59:55 -08:00
Keavon Chambers
73448a4849
Make the toggle overlays button functional ( #484 )
...
* Make the toggle overlays button functional
* Move state from the OverlaysMessageHandler to DocumentMessageHandler
* Code review fixes
2022-01-16 09:40:47 -08:00
Keavon Chambers
34664e7c56
Fix all remaining Vue/TS errors flagged in Volar
2022-01-15 18:04:34 -08:00
Keavon Chambers
ab0a55f6ce
Tweak whitespace around use statements and other lint fixes
2022-01-15 12:55:51 -08:00
Keavon Chambers
c46edfdc5b
Change canvas artboard background color to be 1 shade lighter
2022-01-15 06:35:06 -08:00
Keavon Chambers
b3cf1a42bd
Modify all message enum data to use named struct values, not tuples ( #479 )
...
* Massively reorganize and clean up the whole Rust codebase
* Modify all message enum data to use named struct values, not tuples
2022-01-14 20:54:38 -08:00
Keavon Chambers
40d5960571
Massively reorganize and clean up the whole Rust codebase ( #478 )
...
* Massively reorganize and clean up the whole Rust codebase
* Additional changes during code review
2022-01-14 14:58:08 -08:00
Keavon Chambers
f63424b676
Sort messages and message handlers
2022-01-12 16:17:40 -08:00
Keavon Chambers
cf66f387d5
Standardize FrontendMessage message names
2022-01-12 14:16:13 -08:00
Keavon Chambers
4d9fcd0b77
Rename document_file.rs to document_message_handler.rs
2022-01-12 12:45:07 -08:00
Keavon Chambers
b4885d40c1
Rename DocumentsMessage to PortfolioMessage
2022-01-12 12:19:14 -08:00
Keavon Chambers
600e97eb7c
Rename document_message_handler.rs to portfolio_message_handler.rs
2022-01-12 11:57:36 -08:00
Keavon Chambers
df9977194b
Add npm start script alias for npm run serve
2022-01-12 06:14:32 -08:00
Keavon Chambers
97db01ebac
Switch VS Code's Vue extension from Vetur to Volar
2022-01-12 05:17:56 -08:00
Keavon Chambers
bb5d0e954c
Remove Charcoal references from the code for now
2022-01-12 03:56:28 -08:00
Keavon Chambers
a2f39f48e3
Fix NumberInput clamping regression with undefined bounds
2022-01-10 18:06:12 -08:00
Keavon Chambers
f6bfe595f4
Redesign the Layer Tree UI ( #468 )
2022-01-07 23:13:33 -08:00
Keavon Chambers
c9848a1661
Fix build script to use correct branch name
2022-01-05 05:42:30 -08:00
Keavon Chambers
9ec3f06027
Vue/TS bug and bad typing fixes
2022-01-02 20:02:35 -08:00
Keavon Chambers
7e0cbb60b4
Major frontend code cleanup ( #452 )
...
Many large changes, including:
- TypeScript enums are now string unions throughout
- Strong type-checking throughout the TS and Vue codebase
- Vue component props now all specify `as PropType<...>`
- Usage of annotated return types on all functions
- Sorting of JS import statements
- Explicit usage of Vue bind attribute function call arguments (`@click="foo"` is now `@click=(e) => foo(e)`)
- Much improved code quality related to the color picker
- Consistent camelCase Vue bind and v-model attributes
- Consistent Vue HTML attribute strings with single quotes
- Bug fix and clarity improvement with incorrect hint class parameters
- Empty Vue component objects like `props: {}` and `components: {}` removed
2022-01-02 06:00:02 -08:00
Keavon Chambers
1954aceb0e
Rename Editor's LayerData to LayerMetadata
2021-12-31 00:02:29 -08:00
Keavon Chambers
0482037bc6
Fix all clippy lint errors
2021-12-30 23:05:54 -08:00
eb96eafe60
New overlay system that reimplements how overlays are drawn ( #418 )
...
* New overlay system that reimplements how overlays are drawn
* Fix overlay message declaration
* Fix small mistake
* WIP (broken) changes to plumb the overlay document
* Fix confusion over messaging system architecture
* Removed log
* Overlay system working
* (broken) WIP overlay association
* Finish the overlay system (except test failure)
* Change back IDs in test
* Fixed test, but stilled fails due to revealed real problem with layer reordering selection
* Disable broken test that has a bug in issue #444
Co-authored-by: Dennis <dennis@kobert.dev >
Co-authored-by: otdavies <oliver@psyfer.io >
2021-12-30 09:48:39 -08:00
Keavon Chambers
e13e9337f4
Implement input hints based on the active tool state ( #388 )
...
* Hook up user input hints to display in the frontend status bar
Closes #171
* MVP hint system based on tool FSM
* Fix hints for Fill and Eyedropper tools
* Add icons for keyboard shortcuts
* Fix hints for Pen Tool
* Cleanup
2021-12-24 01:46:03 -08:00
Keavon Chambers
6dd8e35461
Fix previous commit by mapping codes to keys
2021-12-23 16:09:04 -08:00
Keavon Chambers
0203efc868
Add a temporary solution to non-Latin keyboards being unusable
2021-12-23 13:29:02 -08:00
Keavon Chambers
80a3e41654
Make the Pen Tool confirm when leaving the tool
2021-12-21 18:48:21 -08:00
Keavon Chambers
bf6b76a20a
Skip the web page close confirmation when crashed or in debug mode
2021-12-21 18:43:02 -08:00
Keavon Chambers
de7490ede0
Set Cargo.toml versions to 0.0.0 to avoid version confusion
2021-12-20 14:59:47 -08:00
Keavon Chambers
1e57f658dc
Upgrade node packages ( #413 )
2021-12-20 13:09:24 -08:00
Keavon Chambers
6099c9a34e
Skip cargo-about in CI to save 5 minutes ( #409 )
2021-12-20 02:22:19 -08:00
Keavon Chambers
3c1ed1a235
Make deployment switch branch from HEAD to master
2021-12-16 03:21:52 -08:00
Keavon Chambers
c2195c2819
Add the Help > About Graphite dialog with build info
...
Closes #404
2021-12-16 02:49:36 -08:00
Keavon Chambers
7681efa056
Clean up JS message dispatcher and fix a bug thrown on empty-data messages
...
Fixes bug in #394
2021-12-16 02:49:12 -08:00
Keavon Chambers
739b41bdf7
Fix floating menus above scrollable content; they now respect content's preferred width at edges
2021-12-15 04:05:07 -08:00
Keavon Chambers
d0045a6c99
Update the project readme
2021-12-06 16:53:44 -08:00
Keavon Chambers
2be32af44a
Fix bug in last commit that broke when scrolling on SVG elements
2021-12-06 02:55:05 -08:00
Keavon Chambers
c2253d3ce0
Enable vertical scroll wheel on horizontal scrollable containers
2021-12-05 20:05:45 -08:00
Keavon Chambers
6a30b46793
Switch CI and CD scripts to use npm ci instead of npm install
2021-12-05 19:22:57 -08:00
Keavon Chambers
e0682e7fa2
Fix ESLint configuration triggering an error in the ESLint VS Code extension
2021-12-05 19:22:56 -08:00
Keavon Chambers
71e967d043
CSS editor layout fixes and scrolling
...
Major CSS improvements to layout at small screen sizes. By adding min-width: 0 and min-height: 0 on the nested display: flex structure, widgets no longer coerce the whole layout into large-scale resizing. Scrollbars are now used to allow correct overflowing of the tab bar (fixes #177 ), Document Panel options bar, and tool shelf. Improvements to responsive resizing are also included for viewing the UI correctly on mobile now. Additional small fixes to styling of widget colors and corner roundness. The ruler has been darkened one shade to improve text contrast and aesthetics.
2021-12-04 22:30:07 -08:00
Keavon Chambers
c3ec2f76e9
Switch to Node.js 16 LTS, upgrade TypeScript, ESLint, and other dependencies ( #395 )
...
* Upgrade TypeScript, ESLint, and other dependencies
This also cleans up various other files where newer ESLint rules complained
* Set CI and CD to use Node.js version 16
* Small tweak
* Fix CD version printing
* Add nvm version for Cloudflare Pages
2021-11-29 03:32:09 -08:00