Typescript retained mode GUI for the HTML canvas API - a reboot of the @rafern/canvas-ui library.
This library's API is not stable and is expected to heavily change in the future. Planned features/changes:
- Rewrite layout system to no longer use 2 stages, or to not unnecessarily mark widgets as dirty
- Add decoration system
- Rich text
To build this project, run pnpm run build
. To build in watch mode and with
unminified output run pnpm run dev
; the http-server
package must be
installed.
To check for linter errors, run pnpm run lint
.
To add/modify theme properties, modify the theme_properties.json
file and run
pnpm run generate_theme
.
Documentation can be generated locally with the command pnpm run docs
. Output
will be in a new docs
folder. The documentation is also served on
Github Pages.
Examples can be found in the examples
folder, which are also served on
Github Pages.
Special thanks to Playko (website, github) where this project started and is currently being developed at.
This project is licensed under the MIT license (see the LICENSE file)
This project uses the following open-source projects:
- @typescript-eslint/eslint-plugin licensed under the MIT license
- @typescript-eslint/parser licensed under the BSD 2-Clause license
- chai licensed under the MIT license
- concurrently licensed under the MIT license
- DefinitelyTyped licensed under the MIT license
- esbuild licensed under the MIT license
- eslint licensed under the MIT license
- eslint-plugin-tsdoc licensed under the MIT license
- http-server licensed under the MIT license
- jsdom licensed under the MIT license
- mocha licensed under the MIT license
- node-canvas licensed under the MIT license
- shx licensed under the MIT license
- tslib licensed under the BSD Zero Clause license
- ts-node licensed under the MIT license
- typedoc licensed under the Apache 2.0 license
- typescript licensed under the Apache 2.0 license