13 lines
867 B
Markdown
13 lines
867 B
Markdown
# Renderer Rules
|
|
|
|
- `renderer/` draws the current `ImageDocument` plus read-only editor overlays.
|
|
- `renderer.ts` is the renderer entrypoint/orchestrator only; keep it small.
|
|
- Extract feature rendering into focused files such as `artboard.ts`, `checkerboard.ts`, `layers.ts`, or backend helpers.
|
|
- Do not place shape drawing, shader setup, hit testing, cache management, or feature-specific rendering loops directly in `renderer.ts`.
|
|
- Rendering backend details, e.g. WebGL objects, stay isolated here.
|
|
- Do not mutate document or editor state directly.
|
|
- Renderer interactions may emit intents/events only; callers translate them into commands.
|
|
- Do not import React components or view code.
|
|
- Do not leak backend objects into `core/`, `commands/`, `editor/`, or React state.
|
|
- Cache only derived rendering data; authoritative state lives in `core/` and `editor/`.
|