* Node graph API stub
* Rename and fix SetInputValue
* Get list of links from network
* Test populating node graph UI
* Node properties
* Fix viewport bounds
* Slightly change promise usage
* A tiny bit of cleanup I did while reading code
* Cleanup and work towards hooking up node links in Vue template
* Add the brighten colour node
* Run cargo fmt
* Add to and from hsla
* GrayscaleImage node with small perf improvement
* Fix gutter panel resizing
* Display node links from backend
* Add support for connecting node links
* Use existing message
* Fix formatting error
* Add a (currently crashing) brighten node
* Replace brighten node with proto node implementation
* Add support for connecting node links
* Update watch dirs
* Add hue shift node
* Add create_node function to editor api
* Basic insert node UI
* Fix broken names
* Add log
* Fix positioning
* Set connector index to 0
* Add properties for Heu shift / brighten
* Allow deselecting nodes
* Redesign Properties panel collapsible sections
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
* 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>
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
* wasm: do the async initialization only once
This allows the rest of the app to access wasm synchronously.
This allows removing of a global.
* provide the wasm via vue provide/inject.
There's still code directly accessing the wasm. That will be changed later.
* MenuBarInput: use injected wasm instead of the global instance
* Let the App handle event listeners
* move stateful modules into state/
* state/fullscreen: create per instance
* App: load the initial document list on mount.
This got lost a few commits ago. Now it's back.
* state/dialog: create per instance
* util/input: remove dependency on global dialog instance
* state/documents: create per instance
* reponse-handler: move into EditorWasm
* comingSoon: move into dialog
* wasm: allow instantiating multiple editors
* input handlers: do not look at canvases outside the mounted App
* input: listen on the container instead of the window when possible
* - removed proxy from wasm-loader
- integrated with js-dispatcher
- state functions to classes
- integrated some upstream changes
* fix errors caused by merge
* Getting closer:
- added global state to track all instances
- fix fullscreen close trigger
- wasm-loader is statefull
- panic across instanes
* - fix outline while using editor
- removed circular import rule
- added editorInstance to js message constructor
* - changed input handler to a class
- still need a better way of handeling it in App.vue
* - fixed single instance of inputManager to weakmap
* - fix no-explicit-any in a few places
- removed global state from input.ts
* simplified two long lines
* removed global state
* removed $data from App
* add mut self to functions in api.rs
* Update Workspace.vue
remove outdated import
* fixed missing import
* Changes throughout code review; note this causes some bugs to be fixed in a later commit
* PR review round 1
* - fix coming soon bugs
- changed folder structure
* moved declaration to .d.ts
* - changed from classes to functions
- moved decs back to app.vue
* removed need to export js function to rust
* changed folder structure
* fixed indentation breaking multiline strings
* Fix eslint rule to whitelist @/../
* Simplify strip-indents implementation
* replace type assertions with better annotations or proper runtime checks
* Small tweaks and code rearranging improvements after second code review pass
* maybe fix mouse events
* Add back preventDefault for mouse scroll
* code review round 2
* Comment improvements
* -removed runtime checks
- fixed layers not showing
* - extened proxy to cover classes
- stopped multiple panics from logging
- Stop wasm-bindgen from mut ref counting our struct
* cleaned up messageConstructors exports
* Fix input and fullscreen regressions
Co-authored-by: Max Fisher <maxmfishernj@gmail.com>
Co-authored-by: mfish33 <32677537+mfish33@users.noreply.github.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* 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
* Hook up layer tree structure with frontend (decoding and Vue are WIP)
* Fix off by one error
* Avoid leaking memory
* Parse layer structure into list of layers
* Fix thumbnail updates
* Correctly popagate deletions
* Fix selection state in layer tree
* Respect expansion during root serialization
* Allow expanding of subfolders
* Fix arrow direction
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
Upgrade npm packages that were locked to old versions due to now-resolved problems
Remove unused/unnecessary dependencies and their configurations
Fix VS Code format on save
Fix VS Code removing EOF newline in JSON files in conflict with npm
Remove JSON files from ESLint because it doesn't properly support JSON
Add detailed comments to web-related configuration files