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

1.2 KiB

/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 earlyBlocks/, Items/, Models/, Audio/, UI/ — before it becomes a junk drawer.
  4. Resources are plain data, so both /Server and /Client can safely reference them.