docs(governance): address PR #169 review — reconcile sprite-era decisions + doc fixes

Tyre: D-244 now references its precedent (D-148 3D camera / D-149 live 3D characters
— D-244 completes that pivot for objects + assets) and reconciles the 5 sprite-era
decisions it touched, all amended 2026-06-17:
- D-043: 'not 3D' / Light2D scoped to overlay layers; in-world is 3D.
- D-044: sprite footprint retired (sim occupancy + visual hierarchy survive).
- D-049: z-stack logical model survives; sprite/CanvasLayer implementation language retired.
- D-066: dual-scale coordinate model + 2x2 geometry minimum survive; sprite-footprint language legacy.

Hoshe (doc QA):
- D-244 broken cross-file anchors fixed ([D-159]->scope.md, [D-241]->process.md).
- renderer/README: bare [D-244] linked; D-019->D-148 camera note; legacy banner over the
  object-sprite workflow sections; resolution-chain output path qualified.
- docs/assets/_templates/sprite.md + README: marked the template legacy object-sprite schema
  (model/texture/artwork template TBD).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-17 09:40:41 +02:00
co-authored by Claude Opus 4.8
parent dae1498a6f
commit ae7606ed83
5 changed files with 19 additions and 7 deletions
+9 -3
View File
@@ -1,7 +1,7 @@
# Settled Reach — 2D Artwork Render Pipeline
> **Repurposed (D-244).** This offline Godot renderer is **not** the in-world object
> format. Per [D-244] the in-world view renders 3D objects directly (props via Trellis
> format. Per [D-244](../governance/decisions/architecture.md#d-244-asset-rendering--3d-objects-in-world-2d-limited-to-textures--flat-artwork) the in-world view renders 3D objects directly (props via Trellis
> `.glb` / `/glb-gen`; characters via the Quaternius pipeline + `CharacterVisualDescriptor`);
> the only flattened 2D content is **textures** and **flat 2D artwork** (paintings, flags,
> billboards, signage). This pipeline began as the #541 3D-to-2D *sprite* spike and now
@@ -18,7 +18,9 @@ Offline Godot 4 renderer. Produces flat 2D artwork (and, in its legacy mode, 3D-
- **Position**: `(0, 3, 1)` — above and slightly in front of the model origin
- **Godot Transform3D**: `Transform3D(1, 0, 0, 0, 0.30071, 0.95372, 0, -0.95372, 0.30071, 0, 3, 1)`
This is "the angle" per D-019 amendment (2026-02-12). All entity, object, and wall sprites for v0.1 are rendered at this angle. The Godot gameplay camera is purely orthographic — this tilt is an art convention expressed through the 3D render.
**Note (D-244):** D-019 is superseded by D-148 (30° low-angle Camera3D) for the **gameplay** camera. The −72.5° angle here is the **offline render** camera used for 2D-artwork generation (and the retired object-sprite mode) — not the in-world gameplay camera.
This is "the angle" per the D-019 amendment (2026-02-12); v0.1 object-sprite rendering used it, now retired. The offline renderer keeps this fixed camera for flat-artwork output.
## Lighting Rig
@@ -39,11 +41,15 @@ Three-point studio rig. All lights have `shadow_enabled = false` — sprites are
↓ bilinear resize
256×256 — working PNG, outline applied at 4-8px, color #333340
↓ bilinear resize
64×64 — runtime PNG, deployed to client/assets/sprites/
64×64 — runtime PNG (legacy object-sprite output → client/assets/sprites/; for flat artwork, promote to client/assets/textures or .../artwork)
```
Outline implementation: alpha-mask dilation + flat color fill. Outline width in `render_export.gd`: `outline_width_px = 4` (at 256px = 1px effective at 64px).
## ⚠️ Legacy: object-sprite workflow (retired per D-244)
Everything from here down describes the **retired** object-sprite pipeline (#541 spike) — entity/object/wall sprites are no longer the in-world format (objects are 3D `.glb`; characters are 3D meshes). It is kept for reference, and because the camera / lighting / resolution mechanics above are reused for **2D-artwork** rendering. When generating flat artwork, promote outputs to `client/assets/textures` or `client/assets/artwork` (**not** `client/assets/sprites/`) and ignore the entity-sprite footprint / material / deployment specifics below.
## Entity Footprint Spec (D-044, D-066)
- Entity sprites occupy a **24×32px footprint** within the 64×64 visual tile