fix(decisions): clarify D-148 overhead camera angle convention (0°→-80°)

The original "top-down (0°)" was ambiguous — 0° in the code's pitch
convention is horizontal (eye-level), not overhead. The implementation
correctly uses -80° for near-top-down. Updated the decision text to
match the confirmed implementation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-22 17:57:18 +01:00
co-authored by Claude Opus 4.6
parent 5718f44b8b
commit 92209f85e6
+1 -1
View File
@@ -494,7 +494,7 @@ Technical foundation decisions that constrain implementation: engine, client-ser
### D-148: 30° low-angle camera with 45° map rotation — supersedes D-019
- **Date:** 2026-03-17
- **Decision:** The default gameplay camera is an orthographic Camera3D at **30° tilt** (60° from horizontal) with the tile map rotated **45°** into a diamond grid. Not faked in art — an actual Camera3D tilt. Art direction reference: Hades, Divinity: Original Sin. Three camera angle presets: **frontal (-5°)** (default for character editor/mugshot, see D-158), **dramatic/low-angle (-30°)** (gameplay default), **top-down (0°)** (overhead view). Camera tilt cycle (T key in prototype): top-down ↔ dramatic. 30° is the confirmed gameplay default. The 45° map rotation gives natural depth cues and the classic diamond-grid isometric layout. ~~45° isometric preset superseded — not part of the confirmed set.~~
- **Decision:** The default gameplay camera is an orthographic Camera3D at **30° tilt** (60° from horizontal) with the tile map rotated **45°** into a diamond grid. Not faked in art — an actual Camera3D tilt. Art direction reference: Hades, Divinity: Original Sin. Three camera angle presets: **frontal (-5°)** (default for character editor/mugshot, see D-158), **dramatic/low-angle (-30°)** (gameplay default), **overhead (-80°)** (near-top-down view; 0° in code convention is horizontal, not overhead). Camera tilt cycle (T key in prototype): top-down ↔ dramatic. 30° is the confirmed gameplay default. The 45° map rotation gives natural depth cues and the classic diamond-grid isometric layout. ~~45° isometric preset superseded — not part of the confirmed set.~~
- **Rationale:** The 30° angle (versus 45° or top-down) gives significantly more character front visibility and wall depth. Players can see faces, clothing, and character detail rather than primarily hat and shoulder. The diamond grid provides natural spatial depth cues without requiring Z-ordering hacks. The T-key prototype confirmed 30° as the most readable angle at gameplay scale.
- **Architecture note:** Unlike D-019's amendment (which faked tilt in sprite art), this is a real Camera3D setting. The 45° map rotation is a Transform3D applied to the tile grid root — it does not affect simulation coordinates, which remain axis-aligned. Vision cone math and all server-side systems remain in unrotated space; the client applies the visual rotation.
- **Raised by:** Team Leader (Jeroen) — confirmed during Sprint 28 character visuals spike review