Define the minimal layout data contract needed for the first King of the Iceberg playable map, based on the validated tool workflow and exported baseline layout snapshot.
This PR is documentation/contract only. Do not implement gameplay.
Use the validated artifacts from the prior workflow pass:
tmp/uat_exports/king_of_the_iceberg_layout_snapshot.jsontmp/uat_tool_layout_workflow_results.jsondocs/dev/reports/PR_tool_layout_workflow_baseline_report.md
Create a documented layout contract for the first playable King of the Iceberg arena.
The contract should describe only the fields needed to represent:
- map/layout id
- platform objects
- platform position
- platform size/bounds
- platform role
- top/control platform marker
- water zone marker
- optional render layer
- optional collision intent
The layout contract must support:
- 3 to 5 fragmented platforms
- visible gaps between platforms
- lowest platform reachable from water
- top platform marked as the scoring/control area
- future pass-through vs solid platform behavior
- future tile/collision refinement
- no hidden fallback data
Create:
docs/dev/koti_layout_contract.mdInclude:
- Purpose
- Source artifacts used
- Minimal layout object shape
- Platform object requirements
- Required roles
- Optional fields
- Validation rules
- Example minimal layout JSON
- Out-of-scope items
At minimum, define these roles:
platformtop-control-platformwater-zonevisual-backgroundvisual-midground
Do not require runtime collision behavior in this PR.
The contract must state that a valid KOTI layout:
- Has a layout/map id
- Has at least one
top-control-platform - Has one
water-zone - Has 3 to 5 platform objects for MVP
- Has no auto-generated hidden objects
- Uses explicit roles
- Provides actionable errors for missing required fields
The document should include a small example only, such as:
{
"id": "koti_first_arena",
"name": "King of the Iceberg First Arena",
"objects": [
{
"id": "platform_top_01",
"role": "top-control-platform",
"x": 420,
"y": 140,
"width": 180,
"height": 24
},
{
"id": "water_zone",
"role": "water-zone",
"x": 0,
"y": 520,
"width": 960,
"height": 120
}
]
}Adjust field names to match the existing exported snapshot if the tool already has established names.
Do not run the full samples test unless required.
Run only targeted checks:
- Confirm the contract document exists.
- Confirm it references the prior exported snapshot.
- If any script/docs check exists for markdown, run only that targeted check.
- If no code changed,
node --checkis not required. - Do not run long sample suites for this docs-only PR.
docs/dev/koti_layout_contract.mdexists.- Contract is based on the validated exported layout snapshot.
- Contract defines the minimal first-playable layout shape.
- Contract includes validation rules and example JSON.
- No gameplay/runtime code is added.
- No sample games are changed.
- No
start_of_dayfolders are changed. - No full samples test is run unless a changed file requires it.
- Gameplay implementation
- Runtime loader implementation
- Collision physics
- Pass-through platform behavior
- Solid platform behavior
- Tileset breakout
- Parallax asset slicing
- Monetization