Canvas SDK
@internote/canvas-sdk is how an environment is written — the environments (canvas.graph, canvas.sheet, …) a scene’s canvas is built from. One definition covers both sides: the attributes and child vocabulary the compiler validates, and the surface, animation and chrome the reader sees.
#What this section will cover
- Environment API — The registration root. One definition — attributes, vocabulary, surface — spans both sides of the system, and feeds the compiler automatically.
- Animation API — Steps and cue dispatch, cue.to keyframe tracks, the interpolation registry, and the per-environment runtime that plays them.
- Storage API — Two tiers: session state an environment keeps while it is open, and the database tier that outlives the visit.
- Toolbar API — Declarative items — no JSX. The host renders them, so every type’s toolbar behaves the same way.
- Footer API — The second place JSX enters, framed by the host.
- Host — Environment layout resolution, plus a headless test host for exercising a type without a browser.
The compile-side halves — the environment registry, keyframe refinement and the semantic pass — live in @internote/core and are reached through registration, never around it.
#Until it is written
The package README carries the current contract sketch and a worked defineEnvironment call. It is the record to trust while these pages are empty — the API is still settling, and this page will say so until it has stopped.