ACP Integration
The Agent Client Protocol (https://agentclientprotocol.com/) as the default outward wire of any conforming agent system. The mapping between this guide's internal shapes and ACP's wire vocabulary; method-by-method correspondence; where the protocol and the guide diverge and how the adapter handles each seam.
Agent System (WG)
A guide for implementing an LLM-driven agent system. Implementation-agnostic, normative, and meant to play the same role for agent runtimes that LSP plays for language tooling or that ACP plays for editor ↔ agent integration. Names the invariants every implementor MUST honor and the policies each implementor picks.
AI (WG)
Working group hub for AI-related docs. Two layers — the implementation-agnostic agent system RFC, and the Grida-specific bindings (canvas tools, image tools, host tool surface) that ride on top of it.
AI Credits — Master Plan
| feature id | status | description | PRs |
AI SDK (reference substrate)
The guide pins AI SDK v6 as the chunk-shape substrate every conforming implementation speaks internally. This page captures the implementor notes that live outside AI SDK's own docs — the token-usage normalization rule, where the SDK's tool-loop helper fits, and the things the RFC adds on top.
Attributed Text: Data Model Specification
Motivation
Authoring (WG)
Authoring features are a collection of authoring-time behaviors in the editor: operations that rewrite node parameters to achieve an intended visual result, rather than relying on runtime transforms or renderer-specific tricks.
Billing — Known Issues
Living document. Every known issue in the billing surface (subscriptions,
Billing (WG)
Working group documents for the Grida billing surface (subscriptions,
Binary file handling
Glossary and reference for how an agent handles binary attachments the model cannot natively read. Three resolution paths (provider-native multimodal, skill-per-format, shell-based conversion), a format matrix, the scratch-space pattern for archive extraction, and the boundary between protocol and implementor.
Canvas Tools (for AI)
Canvas-specific AI toolset for editing Grida design documents — scene-graph operations, specialized inserts, canvas exec/lint/format, and resource lookup.
Compositor
User intent representation. The multipart user-message shape, file references vs attachments, inline commands, mentions, editor context, attachment handling, and the lowering rules that turn what the user composes into what the model sees.
CRDT Object ID Model
A working group draft describing the Grida ID Model (for CRDT) feature for the core engine.
CSS Property Mapping
CSS → Grida IR property mapping table and TODO tracker.
css_properties.json5
Chromium Blink's single source of truth for CSS property metadata, used as a reference for browser-grade CSS cascade implementation
Curve Decorations (2D)
Renderer-agnostic model for attaching glyphs (arrowheads, markers, ticks) to 2D paths using the path's local frame.
Debugging
The developer experience contract. A canonical inspection format every implementor exposes, the export paths a session can be read through, what the inspection tool exposes, replay semantics, and the DX checklist a conforming implementation passes.
Editor Features (WG)
Editor features are a collection of Grida editor-specific behaviors and capabilities. These documents focus on practical implementation details over mathematical abstractions, emphasizing real-world UX and editor workflows.
Element IR — Typed In-Memory Model for svg-editor
Proposal for a typed per-node element IR that replaces tag-switch intent dispatch in @grida/svg-editor with capability-gated records, centralising round-trip invariants.
Emoji Placeholder Rendering (emoji-placeholder)
| feature id | status | description |
FAQ
Question-and-answer index over the Agent System guide. Doubles as an entry point (read the question, jump to the page) and as a conformance test (if a Q cannot be answered from the RFC, the RFC owes a clarification). Answers are normative and derived from the linked page; they do not invent policy beyond what the guide says.
Fast Hashing (hash-nch)
Scope: Fonts & Images (WASM / Embedded)
Figma Import & Translation (io-figma)
Implementation details behind importing .fig files into Grida.
Font Fallback Strategy (font-fallback)
| feature id | status | description |
Font Generation (fontgen)
| feature id | status | description |
Format & Import Mapping
Tracking docs for the Grida IR schema and how external formats map into it.
Foundations
The bedrock the rest of the guide rests on. AI SDK v6 as the streaming substrate, directory-rooted execution, the locked fundamental tool set summary, sandbox placement, the watchdog, the case for web search as a special fundamental tool, and the cross-cutting invariants every implementation MUST honor.
Fundamental Tools (Grida binding)
How the locked fundamental-tool RFC lands in Grida. Naming map (RFC id → Grida id), backend adapter table, per-tool deviations Grida ships, and where each tool lives in the monorepo.
Grida bindings
Grida-specific tool surfaces and bindings of the agent RFC. Fundamentals as Grida ships them, canvas tools (scene-graph search, specialized inserts, exec/lint/format, resource lookup), and image-generation tools.
Grida document schema naming conventions
| feature id | status | description | PRs |
Grida IR
The Grida IR is the in-memory scene graph used by all Grida rendering, layout, and editing pipelines. It is the single representation that CSS, HTML, SVG, and .grida files all target.
Hit-testing — design notes for v2
Investigation, bugs, and architectural lessons from a v1 hit-test implementation in @grida/svg-editor — input to the v2 hit-test architecture.
HTML Element Mapping
How HTML elements map to Grida IR nodes. For CSS property mapping, see css.md.
HTML+CSS Embed Renderer
Renders HTML+CSS to a Skia Picture for opaque embedding on the canvas
htmlcss::svg — Design Study
The structure-and-semantics study that informs the Skia-backed SVG
Image Filters (image-filters)
| feature id | status | description |
Image Tools (for AI)
This document proposes the philosophical basis for image manipulation tools that enable AI agents to generate, enhance, and transform visual content within the design canvas.
Investigation: Viewport Culling & Camera Caching
Hypothesis
Isolation Mode
Isolation Mode restricts what the renderer draws and hit-tests to a specific
Italic and Oblique Strategy (italic)
| feature id | status | description | PRs |
Kiwi Schema for .fig Format
Overview
Layout Model (layout)
Universal positioning, dimensions, layout management with anchors, flex and grid.
LOD Properties — Reference Sheet
A catalog of node and subtree properties where a zoom-aware Level-of-Detail
Markdown Rendering Support
The MarkdownNode renders GFM (GitHub Flavored Markdown) directly to a Skia Picture using pulldown-cmark's event stream and Skia's textlayout::Paragraph API. No HTML/CSS pipeline is involved — the markdown source is walked and drawn in a single pass.
Masking Model (masks)
| feature id | status | description |
MCP and Connectors
How user-plugged MCP servers and other external connectors compose with the locked tool set. The bulk problem, tool_search, OAuth, dynamic refresh, and trust policy for untrusted MCP servers.
Metronome — Billing Infrastructure
| feature id | status | description | PRs |
Multi-tenant Custom Domains on Vercel
| feature id | status | description | PRs |
Noise Effects (fe-noise)
Procedural fractal Perlin noise effects with SVG filter semantics
Optical Size Automation (opsz-auto)
| feature id | status | description | PRs |
Paragraph Feature Roadmap
Core / Modeling
Persistency
The storage layer. The three-table session schema, the save-on-chunk policy, the JSON-column discipline, the id strategy, and the event-log opt-in. SQLite is the default; the schema ports to any engine that supports JSON columns and indexed string keys.
Platform (WG)
Working group documents for Grida platform and infrastructure topics.
Rectangular Stroke Model (stroke-rect)
Per-side stroke widths for rectangular shapes (CSS border equivalent)
Render Cost Prediction
Reference sheet for estimating GPU render cost of 2D scene operations
Rendering Optimization Strategies
A summary of optimization techniques for achieving high-performance
Resource Management (resources)
Fonts & Images (WASM / Embedded)
Rich Text Persistency: Research & Comparative Reference
Purpose
Runtime Environments
The three runtime environments an agent can be hosted in — web (limited capabilities), cloud sandbox (ephemeral container/VM), and computer (the user's machine). How the locked tool set degrades and which capabilities each environment provides.
Sandbox Runtime (srt) — reference implementation
srt is named here as the reference sandbox implementation for the computer environment — the only mature, ready-to-go option matching the capability surface this guide describes. The protocol does not lock to it; implementors MAY substitute any equivalent.
Scale tool (K) — parameter-space scaling (A.k.a Apply Scale or K-Scale)
| feature id | status | description | PRs |
Selection
This document describes the selection behavior for pointer interactions and
Selection Intent: Decision Tree
See also: the UX-narrative sibling spec at
Session Lifecycle
How a session is born, grows, survives interruption, is compacted, rewound, or branched, and how it switches models per turn. The loop semantics, the chunk stream, the abort path, the run-state machine, the permission-scope layering, and the session-status back-channel.
Skills and Project Instructions
Two layers of knowledge an agent reaches for beyond its tools. Skills (lazy, advertise-then-load, agent picks when relevant) and project instructions (eager, unconditional, the floor every session stands on).
Stroke-Fill Opacity Compositing
How node-level opacity interacts with fill and stroke paint when they
Subagents
How an agent delegates to a child running the same loop. Agent modes, the task tool, blocking vs background, recursion, permission inheritance (deny rules always win), inspectability, awareness, specialized subagents (title / summary / compaction), and plan/build mode as an opinionated pattern hosts may layer.
SVG Editor (TS SDK) — Design
Index of design notes for the @grida/svg-editor TypeScript SDK — element IR proposal, hit-test architecture, transform pipeline critique, Policy Class glossary.
SVG Import Mapping
SVG → Grida IR property mapping and TODO tracker.
SVG Pattern Support
Pattern fills for SVG shapes — tiling a subtree as a repeating paint
SVG Testing
This document describes the testing methodology and tools used to evaluate SVG rendering accuracy in Grida Canvas.
SVG Text Import Model
Status: Active — describes the current import strategy.
Text Editing: Manifesto
Motivation
Text Editing: Performance Model
Motivation
Tools
The tool contract. The locked fundamental set, what every tool must self-describe, the result envelope, truncation, and how permissions are evaluated at the tool-call boundary.
Transform / Rotation — Feedback for svg-editor
Context dump on the transform pipeline in @grida/svg-editor — what's done, what's broken, what's load-bearing for the IR redesign.
Tray Node (tray)
A canvas-level organizational primitive for grouping design elements without participating in layout.
Triggers
Anything that fires a turn besides a human typing in the compositor. Scheduled wakeups, external webhooks (CI / GitHub / generic), programmatic API calls, MCP-pushed events, and agent self-scheduled wakeups. Trigger envelope shape, queue semantics, interactive-vs-hosted execution, agent self-scheduling pattern, lifecycle bounds, and the boundary with background subagents.
Unicode Coverage Tracker (UCT)
A working group draft describing the Unicode Coverage Tracker (UCT) feature for the core engine.
Universal Docs Routing (WG)
Summary
UX Patterns
UX patterns that ride on top of the compositor and push back into the protocol. Queued sends, sidecar chat as ephemeral branch, and memory as a built-on-top layer. The compositor itself, file refs, attachments, mentions, commands, editor context, and the user-view-vs-model-view lowering rules live in compositor.md.
UX Surface (WG)
UX Surface documents specify Grida editor's specific practical UX specifications for surface interactions, selection, targeting, and related user interface behaviors.
Vector Network Implementation
see PR #408
WASM Benchmarking Strategy
Why Real WASM Benchmarking Matters
Working Group
Welcome to the Grida Working Group documentation!