# 🗄️ Data Directory - Isla Apocalypse ## Overview The `/Data` directory is the static repository for all generated world files, visual previews, and configuration structures. It acts as the handoff point between the offline `/Tools` (which write the data) and the live `/Server` (which reads the data). **Core Philosophy: "The Immutable Source of Truth."** Files stored in this primary directory are considered *Base Blueprints*. They are the starting point of the world before any player interacts with it. The Game Client should almost never read from this folder directly; it receives this data via the Server. --- ## 📦 Current Contents (Phase 1) ### 1. Binary Blueprints (`.dat`) * **Format:** Custom serialized binary (`MapData_Seed_[X].dat`). * **Purpose:** Contains the highly compressed, raw mathematical output of the 2D Generator (Map Size, Height floats, Biome IDs, POI coordinates, Highway vectors). * **Usage:** Read by the Server's Chunk Manager at startup to construct the untouched 3D voxel world. ### 2. Map Previews (`.png`) * **Format:** 1024x1024 RGBA Images (`Map_Seed_[X]_[Time].png`). * **Purpose:** High-resolution visual snapshots of the generated seeds. * **Usage:** Used by the developer/server admin to visually review and select the best island layout before spinning up the 3D server. --- ## 🚀 Future Roadmap & Planned Additions As the game expands, this folder will be subdivided to organize different types of static game data: ### 3. /Prefabs (Planned - Phase 2/3) * **Format:** `.json` or custom `.prefab` binaries. * **Purpose:** 3D building templates (e.g., `GasStation_Tier3.json`) created by the Prefab Editor. The Server uses these files to spawn structures at the coordinates dictated by the master `.dat` blueprint. ### 4. /Configs (Planned - Phase 3) * **Format:** `.json` or `.cfg`. * **Purpose:** Human-readable configuration files for game balance. * `LootTables.json`: Defines what items spawn in which containers based on POI Tier. * `VoxelPalette.json`: Maps the 2D Biome IDs to 3D Voxel types. * `SpawnRates.json`: Defines zombie/animal spawn limits and Blood Moon horde scaling. --- ## ⚠️ Directory Rules & Best Practices 1. **NO Scripts or Code:** This directory must strictly contain data files (`.dat`, `.png`, `.json`, `.csv`). It contains zero executable logic. 2. **Live Saves vs. Base Data:** * This folder holds the **Base Game Data**. * *Live Player Saves* and *Terrain Deformation Diff Files* should generally be saved to Godot's safe `user://` path on the host machine, NOT in this project folder. This prevents live server saves from accidentally being bundled into the game's base code. 3. **Version Control (Git) Warnings:** * `.dat` and `.png` files can become very large. * **Rule:** Only commit the "Official Release" seed files to your repository. Use a `.gitignore` file to ignore random test generations so you don't bloat your project repository with gigabytes of discarded test maps.