islaApocalypse/Resources/README.md
beezm d72ffc0183 docs: bring all READMEs current with actual code (post-sweep-10 truth pass)
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>
2026-08-05 05:23:58 -04:00

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.