Outline
abstractalgo opened this issue · comments
Architecture
- monorepo
- apps
- packages
- interactions
- renderer
- RTE rendering
- React bindings
- default, provided primitives and shapes
- extensible (plugin system)
- JS (imperative), but with React bindings (declarative)
- custom reconciler (r3f-like)
- custom hooks
Renderer
- custom shapes (API)
- tile-based
- caching
- LODs
- culling
- batching, bucketing, instancing
- lazy (re-render only on change)
- (dynamic res)
- (animations)
Graph-based features & interactions:
- dependencies: between nodes (aka links), parent-child relationship (groups, nesting), clustering
- camera: pan, zoom
- selection: picking, hover, brush, click/select, swoosh, lasso
- transform: drag, rotate, group, resize
- shapes: path (path, rect, rounded rect, circle, ellipsis,...), SDF/CSG
Alignment & ordering:
- align guides
- on a grid (step movement)
- group alignment: top, bottom, left, right
- distribute (horizontal, vertical, grid)
- ordering: forward, backward, front, back