editor-viewport-guidelisted
Install: claude install-skill xonovex/platform
# Editor viewport Guidelines
The interactive seam where a real-time renderer meets an editor: picking what the user clicks, highlighting what is selected, and manipulating it with transform gizmos. These features straddle two subsystems, so build a thin, render-pipeline-agnostic API the editor drives with plain data. Renderer plumbing (passes, id targets, readback primitives) belongs to gpu-rendering-guide; the generic per-object transform interface is owned by ecs-guide / data-model-guide; vector/matrix/quaternion types come from c99-game-opinionated-guide.
## Requirements
- A renderer that can run extra passes and expose a render-target read-back path (see gpu-rendering-guide).
- A way to identify each rendered object by a stable integer/handle (entity id or equivalent) that shaders can emit.
- Vector/matrix/quaternion math and screen↔world camera transforms (see c99-game-opinionated-guide).
## Essentials
- **A thin data seam** - The editor passes plain POD (transforms, colors, ids); the viewport layer owns all pipeline details, see [references/render-editor-integration.md](references/render-editor-integration.md)
- **Pick on the GPU** - Render object ids to a buffer and read back the pixel under the cursor instead of CPU ray-casting proxies, see [references/object-picking.md](references/object-picking.md)
- **Outline by id, not depth** - Write a selection id to a separate target and edge-detect it in a fullscreen pass, see [references/selection-highlighting.md](refere