netfishing/world/README-WORLD-GRAYBOX.md

74 lines
2.7 KiB
Markdown
Raw Permalink Normal View History

2026-07-27 00:13:07 -04:00
# NETFISHING test world
2026-07-26 00:33:37 -04:00
2026-07-27 00:13:07 -04:00
`world/test_world.tscn` remains the active world composition. It currently
instances `world/regions/starter_island_region.tscn`, a Godot-owned gameplay
wrapper around the human-authored starter-island GLB.
2026-07-26 00:33:37 -04:00
2026-07-27 00:13:07 -04:00
## Starter-island ownership
2026-07-26 00:33:37 -04:00
```text
TestWorld
├── Environment
├── Regions
2026-07-27 00:13:07 -04:00
│ └── StarterIslandRegion
│ ├── Visuals
│ │ ├── StarterIslandModel
│ │ ├── OceanWater
│ │ └── PondWater
│ ├── StaticCollision
│ ├── FishingWater
│ ├── WaterRecovery
│ ├── SafeRespawns
│ ├── PlayerSpawn
│ └── Interactables
2026-07-26 00:33:37 -04:00
├── Safety
└── WorldBounds
```
2026-07-27 00:13:07 -04:00
The imported GLB is visual source content and remains at identity scale. The
wrapper creates concave static collision from its explicit mesh reference and
owns all water, fishing, recovery, spawn, and service placement.
2026-07-26 00:33:37 -04:00
2026-07-27 00:13:07 -04:00
Move the complete `StarterIslandRegion` root to keep visuals and gameplay
volumes synchronized. When editing inside the wrapper, keep each water mesh
aligned with its matching `FishingWater` and `WaterRecovery` shapes. Safe
respawns and `PlayerSpawn` must remain on broad upper terrain.
2026-07-26 00:33:37 -04:00
Rename-sensitive paths:
- `TestWorld/Regions`
2026-07-27 00:13:07 -04:00
- `TestWorld/Regions/StarterIslandRegion`
- the NodePaths exported by `StarterIslandRegion`
- each region's `FishingWater`, `WaterRecovery`, and `SafeRespawns` roots
2026-07-26 00:33:37 -04:00
2026-07-27 00:13:07 -04:00
## Reverting to the modular graybox
2026-07-26 00:33:37 -04:00
2026-07-27 00:13:07 -04:00
The previous region scenes remain unchanged under `world/regions/`. To restore
the prior holdover world, restore `world/test_world.tscn` and
`world/test_world.gd` from commit `633bbd9`, then remove the player-spawn
composition line added to `main/main.gd`. That composition instances:
2026-07-26 00:33:37 -04:00
2026-07-27 00:13:07 -04:00
- `village_region.tscn`
- `starter_pond_region.tscn`
- `river_region.tscn`
- `lake_region.tscn`
- `marsh_region.tscn`
- `coastal_dock_region.tscn`
2026-07-26 00:33:37 -04:00
2026-07-27 00:13:07 -04:00
No region asset needs to be reconstructed or recovered from deleted content.
2026-07-26 00:33:37 -04:00
2026-07-27 00:13:07 -04:00
## Water and recovery
2026-07-26 00:33:37 -04:00
2026-07-27 00:13:07 -04:00
The pond and surrounding ocean remain separate fishable regions using the
existing test pool. Ocean fishing and recovery use four collision shapes so
the raised island interior is not classified as ocean. Regional recovery is
supplemented by `TestWorld/Safety/BelowWorldFailsafe`.
2026-07-26 00:33:37 -04:00
2026-07-27 00:13:07 -04:00
The pond surface is at `y=2.10`. The ocean is at `y=-0.45`, between the
authored upper beach and submerged shelf rings. Fishable regions explicitly
provide their surface heights to the shared fishing presentation.
2026-07-26 00:33:37 -04:00
2026-07-27 00:13:07 -04:00
The Fishing Shop remains a complete instanced interactable. The Pelican perch
remains convenience signage only; Pelican selling is available through the
Cooler from anywhere.