A high-performance vector artboard data model and operation kernel for Web/WASM built in MoonBit.
High-Performance Vector Artboard Data Model & Interactive Editing Engine written in pure MoonBit for WebAssembly (WASM-GC).
| Module Package | Description | Submodules & Features |
|---|---|---|
| src/math | Math & Matrix Kernel | Vector algebra, 2D/3D affine matrix, Bezier curves, B-Splines, Triangulation |
| src/shapes | Vector Shapes & Color | RGBA color space, Hex parsing, Styles, Bezier path builders, Text typography, Boolean ops, Mesh Gradients |
| src/scenegraph | Scene-Graph Node Tree | Artboard document, Node repository, Layer z-index, Auto Layout, Component instances, Layout constraints |
| src/spatial | Spatial Indexing | Winding Number hit testing, Grid spatial index culling |
| src/selection | Selection Engine | Selection manager, 8-handle transform controllers |
| src/history | Undo / Redo Manager | Command pattern, Transaction manager, History stack |
| src/tools | Interactive Tool Engine | Tool state machine, Alignment guides, Interactive Pen tool bezier engine |
| src/serialization | Serialization & AST | Document JSON encoder, JsonValue AST parser, SVG XML importer |
| src/export | Export Adapters | SVG exporter, Canvas 2D instruction stream, PDF exporter, HTML5 Canvas code generator |
| src/main | Entry Demo | Integration showcase & preset artwork generation |
# 1. Format code and check formatting compliance
moon fmt
# 2. Check package interface files
moon info
# 3. Run the full unit test suite (36 passing tests)
moon test
# 4. Compile and execute the main integration demo
moon run src/mainA high-performance vector artboard data model and operation kernel for Web/WASM built in MoonBit.