Every README was read first, checked against the code in its directory, then rewritten to describe what the code actually does now. Corrected throughout: map size is config-driven (8192 default) not a fixed 4096; chunks are 24x24x256 not 32x32; road carving is implemented for all four tiers, not a 'next step'; Data/ and Resources/ are empty, not populated. Also fixed MATH_MARCHING_CUBES.md, which documented the density sign convention exactly backwards — it claimed positive was underground, where the code treats positive as above the surface and counts a corner inside when density < iso. Getting that backwards inverts every normal, a bug this project has hit before. The root README now carries accurate run steps: F5 runs the map generator (not the game), F6 on Scenes/Main.tscn runs the 3D world, and ChunkRadius is a load radius that should be dropped to 4-8 while iterating. Docs only. No code changed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
24 lines
1.2 KiB
Markdown
24 lines
1.2 KiB
Markdown
# /Resources
|
|
|
|
Intended home for Godot `.tres` asset definitions and static assets — block properties, item data,
|
|
materials, models, audio, UI themes.
|
|
|
|
## ⚠️ Currently empty
|
|
|
|
**This directory holds nothing but this README.** No resources exist yet.
|
|
|
|
Block properties currently live **in code**, not in resources: `Core/Scripts/BlockRegistry.cs` builds
|
|
its dictionary of `BlockData` (ID, name, IsSolid, colour) in a static constructor. Terrain rendering
|
|
uses a `StandardMaterial3D` created at runtime per chunk in `ChunkRenderer.cs`, not a saved material.
|
|
|
|
Moving that data into `.tres` files is a reasonable future step — it would make block definitions
|
|
editable without recompiling and diffable in git — but nothing depends on it today.
|
|
|
|
## Conventions, if and when it fills up
|
|
|
|
1. **`.tres`, not `.res`.** Text resources are readable in a diff; binary ones are not.
|
|
2. **Stateless only.** A resource holds a weapon's *max* ammo, never its *current* ammo. Live state
|
|
belongs to the server.
|
|
3. **Subdivide early** — `Blocks/`, `Items/`, `Models/`, `Audio/`, `UI/` — before it becomes a junk
|
|
drawer.
|
|
4. Resources are plain data, so both `/Server` and `/Client` can safely reference them.
|