fix(assets): PR #57 review — docs, uid, citation fixes

- Fix client sprite naming in README (files are _64.png, not .png)
- Clarify --path working directory (renderer/ from repo root)
- Remove /sprite-gen reference (skill not in branch yet)
- Add D-043 citation on outline color in render_export.gd
- Add uid to wall_bar_green.tscn for reproducible imports
- Note wall_bar_green has no rendered sprites yet
- Note npc_generic capsule symmetry is by design (D-044)
- Add outline + D-033 tint compatibility guidance

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-23 20:17:47 +01:00
co-authored by Claude Opus 4.6
parent 35594b7f14
commit 19f81d4887
3 changed files with 10 additions and 10 deletions
+8 -8
View File
@@ -47,24 +47,24 @@ Outline implementation: alpha-mask dilation + flat color fill. Outline width in
### Command Line
```bash
# From the renderer/ directory
godot --path . --headless --quit-after 1200 res://render_scene.tscn -- <model_name>
# From the repository root
godot --path renderer/ --headless --quit-after 1200 res://render_scene.tscn -- <model_name>
```
Or use the `/sprite-gen` skill which wraps this command and handles output placement.
The `/sprite-gen` skill wraps this command and handles output placement.
### Adding a New Model
1. Create `renderer/models/<model_name>.tscn` — root node is a `MeshInstance3D` (or `Node3D` with children)
2. Center the mesh at the origin
3. Use a flat `StandardMaterial3D` (no baked shadows — just albedo color + roughness)
4. Run: `/sprite-gen <model_name>`
4. Run: `godot --path renderer/ --headless --quit-after 1200 res://render_scene.tscn -- <model_name>`
5. Output: 12 PNGs in `renderer/output/` (4 directions × 3 resolutions)
6. Runtime sprites: copy 64px variants to `client/assets/sprites/`
### Material Guidelines
- **Entity sprites**: neutral flat material (albedo Color(0.5, 0.5, 0.5)). D-033 relationship color tinting applied at runtime.
- **Entity sprites**: neutral flat material (albedo Color(0.5, 0.5, 0.5)). D-033 relationship color tinting applied at runtime by the client's entity renderer. Outline color (#333340 per D-043) is compatible with all D-033 tint colors — the dark blue-grey outline remains visible against teal, green, amber, and red entity tints.
- **Structural sprites**: use zone-appropriate texture (`textures/wall_institutional_era1.png`, etc.)
- No specularity: `metallic = 0.0`, `roughness = 0.9`
- No emission, no normal maps — shape is the signal
@@ -74,8 +74,8 @@ Or use the `/sprite-gen` skill which wraps this command and handles output place
| Model | File | Type | Notes |
|-------|------|------|-------|
| `wall_structural` | `models/wall_structural.tscn` | Structure | 1.0×0.8×0.2 box, institutional era-1 texture |
| `wall_bar_green` | `models/wall_bar_green.tscn` | Structure | 1.0×0.8×0.2 box, green panel texture |
| `npc_generic` | `models/npc_generic.tscn` | Entity | Capsule silhouette, neutral grey, 24×32px footprint |
| `wall_bar_green` | `models/wall_bar_green.tscn` | Structure | 1.0×0.8×0.2 box, green panel texture (model only — no sprites rendered yet) |
| `npc_generic` | `models/npc_generic.tscn` | Entity | Capsule silhouette, neutral grey, 24×32px footprint. Rotationally symmetric — north/south and east/west pairs are near-identical by design (asymmetric silhouettes come from named NPC models with identifying features per D-044). |
## Output Naming Convention
@@ -92,7 +92,7 @@ Directions: `north`, `east`, `south`, `west` (model rotated 0°, 90°, 180°, 27
64px sprites are deployed to: `client/assets/sprites/`
Naming convention at the client side is `<model_name>_<direction>.png` (64px only — the 1024 and 256 variants stay in `renderer/output/` as pipeline intermediates).
Naming convention at the client side matches the pipeline output: `<model_name>_<direction>_64.png`. The 1024 and 256 variants stay in `renderer/output/` as pipeline intermediates (gitignored).
## Design Constraints
+1 -1
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=3 format=3]
[gd_scene load_steps=3 format=3 uid="uid://wallbargreen001"]
[ext_resource type="Texture2D" path="res://textures/wall_bar_green_panels.png" id="1_wall_texture"]
+1 -1
View File
@@ -10,7 +10,7 @@ const ROTATIONS: PackedFloat64Array = [0.0, 90.0, 180.0, 270.0]
@export var model_scene: PackedScene
@export var output_name: String = "wall_structural"
@export var outline_width_px: int = 4 # at 256 = 1px at 64
@export var outline_color: Color = Color(0.2, 0.2, 0.25, 1.0)
@export var outline_color: Color = Color(0.2, 0.2, 0.25, 1.0) # #333340 per D-043
@export var render_now: bool = false:
set(value):
if value and model_scene: