Feature Flags & Debug Flags
All flags are Charm atoms — they can be toggled at runtime via the debug UI.
Feature Flags
Defined in src/shared/feature-flags.ts. These control game systems:
| Flag | Default | Purpose |
|---|---|---|
DevelopmentMode | false | Enables dev spawn, sandbox mode |
SandboxMode | false | Free camera, debug tools (auto-enabled by DevelopmentMode) |
ChunksEnabled | true | Chunk generation system |
ChunkUnloadingEnabled | true | Trailing chunk cleanup |
EnemySpawningEnabled | false | Natural enemy spawning (debug spawns unaffected) |
LightingEnabled | true | Lighting system startup |
DayNightCycleEnabled | true | Progressive day/night based on chunk progression |
DecoreVisible | true | Decorative foliage rendering |
DebugModeEnabled | true | Unlocks mouse, enables debug UI |
DevToolsEnabled | true | Dev testing tools in debug menu |
GamePhase | "game" | Current phase: "lobby" or "game" |
VFXEnabled | true | Visual effects |
SoundsEnabled | true | Audio |
ParticlesEnabled | true | Particle systems |
Debug Flags
Defined in src/shared/debug-flags.ts. These gate log output:
| Flag | Default | Purpose |
|---|---|---|
ChunkLogs | false | Chunk generation logging |
LightingLogs | false | Day/night transition logging |
EnemyLogs | false | Enemy spawn/despawn logging |
FlowerTrapLogs | false | Flower trap behavior logging |
DangerZoneLogs | false | Danger zone creation logging |
QuirkymalLogs | false | Character system logging |
DeathLogs | false | Death/respawn logging |
WatcherLogs | false | Watcher boss logging |
SafeZoneLogs | false | Safe zone detection logging |
PathDebug | false | Path node debug visualization |
QueueDebug | false | Queue system logging |
ForestLogs | false | Client-side forest generation logging |
Usage Pattern
import debugFlags from "shared/debug-flags";
// Gate expensive logging behind flag check
if (debugFlags.EnemyLogs()) {
print(`[EnemyService] Spawned ${type} at ${position}`);
}
All flags are toggleable in the debug UI at runtime via renderFlagCheckbox() in debug-controller.ts.