Expand material support and checkpoint the completed building toolkit

Expose the runtime block/item registry through compact material search and
single-material descriptions. Preserve private block-entity data through
checked edits and durable undo without sending payloads to model context.

Include the completed terrain tools, isolated world/map plugin, station lift,
ACP streaming and guidance fixes, local camera auto-connect, construction
scripts, and their public documentation, references and verification records.
Active station decoration and private runtime data remain outside this commit.

Validation: 145 Maven tests, 47 Bridge tests, successful camera Gradle build,
and isolated Paper verification of all 1,196 block defaults plus 5,392
independent property cases for placement, same-material edits and restoration.
This commit is contained in:
Emil
2026-09-13 16:59:13 +03:00
parent 0290559abf
commit 89c53d7058
179 changed files with 37719 additions and 162 deletions
@@ -0,0 +1,105 @@
{
"verified_at": "2026-09-13T13:47:22.221969+00:00",
"server_version": "26.2-123-5001879 (MC: 26.2)",
"catalog": {
"items": 1537,
"search_default_limit": 16,
"blocks": 1196,
"version": "00474abd322518089309784c",
"materials": 1691,
"search_max_limit": 32
},
"registry_probe": {
"catalog_described": 1196,
"max_description_bytes": 682,
"total": 1196,
"passed": 1196,
"entity_defaults": 186,
"property_cases": 5392,
"fresh_property_passed": 5392,
"same_material_property_passed": 5392,
"private_undo_passed": 5392,
"anchor_restored": true,
"failure_count": 0
},
"scope": "All block defaults and independent property variants; not the Cartesian product or later simulation effects.",
"live_integration": {
"phase": "complete",
"checks": [
"bounded search/pagination",
"property domains",
"item-only distinction",
"new blocks and fluids apply/undo",
"paired doors",
"private block-entity digests",
"same-material inventory preservation",
"manual-content stale snapshot and apply conflict",
"no inventory drops",
"schematic new-material native rotation",
"schematic block-entity export rejection",
"complete chest/sign/pot undo after Paper restart"
],
"catalog_summary_bytes": 130
},
"tests": {
"maven": {
"world-core": {
"tests": 76,
"failures": 0,
"errors": 0,
"skipped": 0
},
"paper-plugin": {
"tests": 43,
"failures": 0,
"errors": 0,
"skipped": 0
},
"terrain-world-plugin": {
"tests": 26,
"failures": 0,
"errors": 0,
"skipped": 0
}
},
"bridge": {
"tests": 47,
"failures": 0
}
},
"deployment": {
"project": "shacraft-lobby-v2",
"scope_and_history_preserved": true,
"plugin_sha256": "7cb8abcc3e8127d60cbdb8925b531bfef856fe2dc4abdef9cc6191c5c715fc4d",
"mcp": {
"timestamp": "2026-09-13T13:45:31.378Z",
"tool_count": 19,
"checks": [
{
"tool": "project_context",
"bytes": 4840,
"catalog": {
"materials": 1691,
"version": "00474abd322518089309784c",
"blocks": 1196,
"search_default_limit": 16,
"items": 1537,
"search_max_limit": 32
},
"project_id": "shacraft-lobby-v2"
},
{
"tool": "material_search",
"bytes": 374
},
{
"tool": "material_describe",
"bytes": 324
}
]
},
"chat_bridge_restarted": true,
"chatgpt_login_preserved": true,
"pre_upgrade_backup": true
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 779 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1010 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

@@ -0,0 +1,589 @@
{
"stage": "03-arrival-garden",
"writes": 4811,
"batches": 12,
"final_distinct_changed_blocks": 4734,
"actual_block_checks": {
"version": 1,
"mode": "actual_after_snapshot",
"scope": {
"project_id": "shacraft-lobby-v2",
"world_id": "6679385a-b67f-4e88-b6be-33836ced6f2d",
"world_epoch": "b7626ccf-9c75-4b00-9cf3-b8a42231c754"
},
"world_edits": 0,
"desired_blocks": 4734,
"baseline_expected_states_verified": 4734,
"actual_exact_state_mismatches": 0,
"actual_mismatch_examples": [],
"fixtures": {
"passed": true,
"checked": {
"leaves": 537,
"lanterns": 16,
"flowers": 258,
"rooted_trees": 12,
"root_connected_logs": 73
},
"failures": []
},
"walking": {
"checked_points": 4955,
"checked_route_edges": 0,
"failures": [],
"passed": true,
"scope": {
"project_id": "shacraft-lobby-v2",
"world_id": "6679385a-b67f-4e88-b6be-33836ced6f2d",
"world_epoch": "b7626ccf-9c75-4b00-9cf3-b8a42231c754"
},
"note": "Observed surface samples and vertical headroom; full cubes, slabs and explicit straight bottom-stair samples. Stair samples are a surface profile, not a full player-width collision simulation. Cached snapshot is not a live re-read."
},
"navigation": {
"version": 1,
"source": {
"x": 0,
"z": 9
},
"world_edits": 0,
"method": "Four quarter-center surface samples per clear cell; cardinal half-block BFS, rise/drop <= 0.5 block.",
"limitations": "Planned surface topology only. No headroom, body-width collision, material state or live-world verification. Width checks are cardinal cross-sections using the dominant local tangent; full declared masks are also checked.",
"geometry_sha256": "b58820302ac02852731c49ac482b0b6684b2aa7fe319d7e9dfc3d8374c972491",
"planned_columns": 16309,
"clear_columns": 14478,
"surface_samples": 57912,
"reachable_samples": 57912,
"unreachable_clear_columns": [],
"unreachable_by_group": {},
"station": {
"name": "clock-station",
"x": -6,
"z": -105,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 119.0
},
"routes": [
{
"id": "station-axis",
"passed": true,
"declared_clear_width": 9,
"corridor_columns": 593,
"missing_corridor_columns": [],
"declared_clear_columns": 486,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 47,
"minimum_structural_cross_section": 9,
"minimum_clear_cross_section": 9,
"minimum_reachable_cross_section": 9,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0,
"centerline_jumps": [],
"endpoints": [
{
"name": "station-axis:start",
"x": 0,
"z": -37,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 45.5
},
{
"name": "station-axis:end",
"x": -6,
"z": -77,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 91.0
}
]
},
{
"id": "south-axis-local",
"passed": true,
"declared_clear_width": 9,
"corridor_columns": 685,
"missing_corridor_columns": [],
"declared_clear_columns": 565,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 59,
"minimum_structural_cross_section": 9,
"minimum_clear_cross_section": 9,
"minimum_reachable_cross_section": 9,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "south-axis-local:start",
"x": 0,
"z": 57,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 48.0
},
{
"name": "south-axis-local:end",
"x": 1,
"z": 110,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 102.0
}
]
},
{
"id": "portal-radial-local",
"passed": true,
"declared_clear_width": 7,
"corridor_columns": 531,
"missing_corridor_columns": [],
"declared_clear_columns": 376,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 70,
"minimum_structural_cross_section": 7,
"minimum_clear_cross_section": 7,
"minimum_reachable_cross_section": 7,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "portal-radial-local:start",
"x": -35,
"z": -14,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 57.0
},
{
"name": "portal-radial-local:end",
"x": -72,
"z": -46,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 126.0
}
]
},
{
"id": "lake-radial-local",
"passed": true,
"declared_clear_width": 5,
"corridor_columns": 403,
"missing_corridor_columns": [],
"declared_clear_columns": 297,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 63,
"minimum_structural_cross_section": 5,
"minimum_clear_cross_section": 5,
"minimum_reachable_cross_section": 5,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "lake-radial-local:start",
"x": -42,
"z": 18,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 50.5
},
{
"name": "lake-radial-local:end",
"x": -90,
"z": 32,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 112.5
}
]
},
{
"id": "east-radial-local",
"passed": true,
"declared_clear_width": 7,
"corridor_columns": 451,
"missing_corridor_columns": [],
"declared_clear_columns": 341,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 49,
"minimum_structural_cross_section": 7,
"minimum_clear_cross_section": 7,
"minimum_reachable_cross_section": 7,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "east-radial-local:start",
"x": 42,
"z": 16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 49.0
},
{
"name": "east-radial-local:end",
"x": 82,
"z": 8,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 90.5
}
]
},
{
"id": "ring-northwest-local",
"passed": true,
"declared_clear_width": 7,
"corridor_columns": 468,
"missing_corridor_columns": [],
"declared_clear_columns": 350,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 53,
"minimum_structural_cross_section": 7,
"minimum_clear_cross_section": 7,
"minimum_reachable_cross_section": 7,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "ring-northwest-local:start",
"x": -40,
"z": -65,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 113.0
},
{
"name": "ring-northwest-local:end",
"x": -80,
"z": -77,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 165.0
}
]
},
{
"id": "ring-northeast-local",
"passed": true,
"declared_clear_width": 7,
"corridor_columns": 505,
"missing_corridor_columns": [],
"declared_clear_columns": 374,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 60,
"minimum_structural_cross_section": 7,
"minimum_clear_cross_section": 7,
"minimum_reachable_cross_section": 7,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "ring-northeast-local:start",
"x": 40,
"z": -95,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 151.0
},
{
"name": "ring-northeast-local:end",
"x": 82,
"z": -78,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 210.0
}
]
},
{
"id": "station-entrance-stair",
"passed": true,
"declared_clear_width": 21,
"corridor_columns": 161,
"missing_corridor_columns": [],
"declared_clear_columns": 147,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 7,
"minimum_structural_cross_section": 21,
"minimum_clear_cross_section": 21,
"minimum_reachable_cross_section": 21,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "station-entrance-stair:start",
"x": -6,
"z": -77,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 91.0
},
{
"name": "station-entrance-stair:end",
"x": -6,
"z": -83,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 97.0
}
]
}
],
"passed": true,
"decorated_ground_columns_excluded": 662,
"bench_front_access": [
{
"name": "bench--17--17-front--1",
"x": -16,
"z": -16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 40.0
},
{
"name": "bench--17--17-front-0",
"x": -17,
"z": -16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 41.0
},
{
"name": "bench--17--17-front-1",
"x": -18,
"z": -16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 42.0
},
{
"name": "bench-17--17-front--1",
"x": 18,
"z": -16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 42.5
},
{
"name": "bench-17--17-front-0",
"x": 17,
"z": -16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 41.5
},
{
"name": "bench-17--17-front-1",
"x": 16,
"z": -16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 40.5
},
{
"name": "bench--32-2-front--1",
"x": -31,
"z": 1,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 38.0
},
{
"name": "bench--32-2-front-0",
"x": -31,
"z": 2,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 37.0
},
{
"name": "bench--32-2-front-1",
"x": -31,
"z": 3,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 36.0
},
{
"name": "bench-32-2-front--1",
"x": 31,
"z": 3,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 36.5
},
{
"name": "bench-32-2-front-0",
"x": 31,
"z": 2,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 37.5
},
{
"name": "bench-32-2-front-1",
"x": 31,
"z": 1,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 38.5
},
{
"name": "bench--22-35-front--1",
"x": -23,
"z": 34,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 47.5
},
{
"name": "bench--22-35-front-0",
"x": -22,
"z": 34,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 46.5
},
{
"name": "bench--22-35-front-1",
"x": -21,
"z": 34,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 45.5
},
{
"name": "bench-22-35-front--1",
"x": 21,
"z": 34,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 46.0
},
{
"name": "bench-22-35-front-0",
"x": 22,
"z": 34,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 47.0
},
{
"name": "bench-22-35-front-1",
"x": 23,
"z": 34,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 48.0
}
]
},
"passed": true,
"note": "Static support, leaf-distance and point-sampled navigation checks; not a complete moving-player collision simulation. Actual mode uses sequential observed snapshots.",
"input_sha256": {
"before": "770a08974e5bf9793c56be780576947dcceb2cd5b8400f479a5356e8509b3146",
"layout": "699060010db084dc05c47400572ac4440784d1a0c3dbd877122decd183048923",
"metadata": "400f672864117b62ed173600932ca04ab15a0c548587bb3d39f34eaa91484e89",
"walk": "453c5ee1e699a59be845db22abc5e481915768ab229a79c0cc6019d8b3e39d0d",
"navigation": "1baf3c4ef2c1ddfca22240395fcde97b5210d97c9afe5cb2b6c3275154cfe044",
"after": "5310988e559868a7e18a98d2e951d87e789798d6a1027df491ede65bb4bcdff8"
}
},
"actual_surface_checks": {
"version": 1,
"world": "shacraft_lobby_v2",
"scope": {
"project_id": "shacraft-lobby-v2",
"world_id": "6679385a-b67f-4e88-b6be-33836ced6f2d",
"world_epoch": "b7626ccf-9c75-4b00-9cf3-b8a42231c754"
},
"source": "Full live Paper surface maps plus observed baseline voxels and desired edit overlay",
"verified_surface_columns": 589824,
"affected_columns": 2823,
"outside_edit_columns_verified": 587001,
"changed_surface_columns": 2680,
"surface_mismatches": 0,
"outside_edit_surface_mismatches": 0,
"mismatch_examples": [],
"original_visible_water_columns": 41467,
"visible_water_surface_changes": 0,
"water_surface_change_examples": [],
"expected_states_checked_against_baseline": 4734,
"placed_or_replaced_voxels": 4702,
"removed_voxels": 32,
"lower_snapshot_voxels_consulted_after_cuts": 12,
"observed_water_voxels_replaced": [],
"water_preservation_passed": true,
"passed": true,
"capture_started_at": "2026-09-13T02:35:54.623721211Z",
"capture_finished_at": "2026-09-13T02:37:49.861979626Z",
"atomic_snapshot": false,
"note": "Sequential map captures; edits must be idle during each capture. This checks every visible surface and the observed water blocks in the edit. Hidden untouched blocks outside the voxel survey are not inferred. Live voxel and headroom checks are separate.",
"inputs_sha256": {
"before_map": "25b7eb12af89e0f9931a56f31cc8eca952b817a34218ffdc4fbf3636e1a3e917",
"after_map": "d0dde2583dfbb2f5b37b45a2d1cd5c239b8bfd2e72d4c1434ac280e99f8ed2af",
"baseline_voxels": "770a08974e5bf9793c56be780576947dcceb2cd5b8400f479a5356e8509b3146",
"desired_layout": "699060010db084dc05c47400572ac4440784d1a0c3dbd877122decd183048923"
}
},
"camera_readiness": "Real Fabric frames; heuristic render readiness, server block state verified separately."
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 817 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

@@ -0,0 +1,695 @@
{
"version": 1,
"scope": {
"project_id": "shacraft-lobby-v2",
"world_id": "6679385a-b67f-4e88-b6be-33836ced6f2d",
"world_epoch": "b7626ccf-9c75-4b00-9cf3-b8a42231c754"
},
"mode": "actual_after_snapshot",
"passed": true,
"world_edits": 0,
"desired_blocks": 710,
"guard": {
"passed": true,
"columns": 302,
"piers": 46,
"cardinal_components": [
31,
46,
71,
74,
80
],
"grounded_footings": 22,
"adjacent_road_rails": 6,
"failures": []
},
"protected_road_columns": 2927,
"protection_failures": [],
"preserved_fixture_states": 1172,
"lost_fixtures": [],
"fixtures": {
"passed": true,
"checked": {
"leaves": 537,
"lanterns": 16,
"flowers": 258,
"rooted_trees": 12,
"root_connected_logs": 73
},
"failures": []
},
"walking": {
"checked_points": 4815,
"checked_route_edges": 0,
"failures": [],
"passed": true,
"scope": {
"project_id": "shacraft-lobby-v2",
"world_id": "6679385a-b67f-4e88-b6be-33836ced6f2d",
"world_epoch": "b7626ccf-9c75-4b00-9cf3-b8a42231c754"
},
"note": "Observed surface samples and vertical headroom; full cubes, slabs and explicit straight bottom-stair samples. Stair samples are a surface profile, not a full player-width collision simulation. Cached snapshot is not a live re-read."
},
"navigation": {
"version": 1,
"source": {
"x": 0,
"z": 9
},
"world_edits": 0,
"method": "Four quarter-center surface samples per clear cell; cardinal half-block BFS, rise/drop <= 0.5 block.",
"limitations": "Planned surface topology only. No headroom, body-width collision, material state or live-world verification. Width checks are cardinal cross-sections using the dominant local tangent; full declared masks are also checked.",
"geometry_sha256": "4a2b951946c91a09dcef9606bfebd8eba51c34f21e827b019dc0a5f768cf4148",
"planned_columns": 16309,
"clear_columns": 14338,
"surface_samples": 57352,
"reachable_samples": 57352,
"unreachable_clear_columns": [],
"unreachable_by_group": {},
"station": {
"name": "clock-station",
"x": -6,
"z": -105,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 119.0
},
"routes": [
{
"id": "station-axis",
"passed": true,
"declared_clear_width": 9,
"corridor_columns": 593,
"missing_corridor_columns": [],
"declared_clear_columns": 486,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 47,
"minimum_structural_cross_section": 9,
"minimum_clear_cross_section": 9,
"minimum_reachable_cross_section": 9,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0,
"centerline_jumps": [],
"endpoints": [
{
"name": "station-axis:start",
"x": 0,
"z": -37,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 45.5
},
{
"name": "station-axis:end",
"x": -6,
"z": -77,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 91.0
}
]
},
{
"id": "south-axis-local",
"passed": true,
"declared_clear_width": 9,
"corridor_columns": 685,
"missing_corridor_columns": [],
"declared_clear_columns": 565,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 59,
"minimum_structural_cross_section": 9,
"minimum_clear_cross_section": 9,
"minimum_reachable_cross_section": 9,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "south-axis-local:start",
"x": 0,
"z": 57,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 48.0
},
{
"name": "south-axis-local:end",
"x": 1,
"z": 110,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 102.0
}
]
},
{
"id": "portal-radial-local",
"passed": true,
"declared_clear_width": 7,
"corridor_columns": 531,
"missing_corridor_columns": [],
"declared_clear_columns": 376,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 70,
"minimum_structural_cross_section": 7,
"minimum_clear_cross_section": 7,
"minimum_reachable_cross_section": 7,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "portal-radial-local:start",
"x": -35,
"z": -14,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 57.0
},
{
"name": "portal-radial-local:end",
"x": -72,
"z": -46,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 126.0
}
]
},
{
"id": "lake-radial-local",
"passed": true,
"declared_clear_width": 5,
"corridor_columns": 403,
"missing_corridor_columns": [],
"declared_clear_columns": 297,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 63,
"minimum_structural_cross_section": 5,
"minimum_clear_cross_section": 5,
"minimum_reachable_cross_section": 5,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "lake-radial-local:start",
"x": -42,
"z": 18,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 50.5
},
{
"name": "lake-radial-local:end",
"x": -90,
"z": 32,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 112.5
}
]
},
{
"id": "east-radial-local",
"passed": true,
"declared_clear_width": 7,
"corridor_columns": 451,
"missing_corridor_columns": [],
"declared_clear_columns": 341,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 49,
"minimum_structural_cross_section": 7,
"minimum_clear_cross_section": 7,
"minimum_reachable_cross_section": 7,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "east-radial-local:start",
"x": 42,
"z": 16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 49.0
},
{
"name": "east-radial-local:end",
"x": 82,
"z": 8,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 90.5
}
]
},
{
"id": "ring-northwest-local",
"passed": true,
"declared_clear_width": 7,
"corridor_columns": 468,
"missing_corridor_columns": [],
"declared_clear_columns": 350,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 53,
"minimum_structural_cross_section": 7,
"minimum_clear_cross_section": 7,
"minimum_reachable_cross_section": 7,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "ring-northwest-local:start",
"x": -40,
"z": -65,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 113.0
},
{
"name": "ring-northwest-local:end",
"x": -80,
"z": -77,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 165.0
}
]
},
{
"id": "ring-northeast-local",
"passed": true,
"declared_clear_width": 7,
"corridor_columns": 505,
"missing_corridor_columns": [],
"declared_clear_columns": 374,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 60,
"minimum_structural_cross_section": 7,
"minimum_clear_cross_section": 7,
"minimum_reachable_cross_section": 7,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "ring-northeast-local:start",
"x": 40,
"z": -95,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 151.0
},
{
"name": "ring-northeast-local:end",
"x": 82,
"z": -78,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 210.0
}
]
},
{
"id": "station-entrance-stair",
"passed": true,
"declared_clear_width": 21,
"corridor_columns": 161,
"missing_corridor_columns": [],
"declared_clear_columns": 147,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 7,
"minimum_structural_cross_section": 21,
"minimum_clear_cross_section": 21,
"minimum_reachable_cross_section": 21,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "station-entrance-stair:start",
"x": -6,
"z": -77,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 91.0
},
{
"name": "station-entrance-stair:end",
"x": -6,
"z": -83,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 97.0
}
]
}
],
"passed": true,
"bench_access": [
{
"name": "bench-access--31-1",
"x": -31,
"z": 1,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 38.0
},
{
"name": "bench-access--31-2",
"x": -31,
"z": 2,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 37.0
},
{
"name": "bench-access--31-3",
"x": -31,
"z": 3,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 36.0
},
{
"name": "bench-access--23-32",
"x": -23,
"z": 32,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 45.5
},
{
"name": "bench-access--23-33",
"x": -23,
"z": 33,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 46.5
},
{
"name": "bench-access--23-34",
"x": -23,
"z": 34,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 47.5
},
{
"name": "bench-access--22-33",
"x": -22,
"z": 33,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 45.5
},
{
"name": "bench-access--22-34",
"x": -22,
"z": 34,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 46.5
},
{
"name": "bench-access--21-34",
"x": -21,
"z": 34,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 45.5
},
{
"name": "bench-access--18--16",
"x": -18,
"z": -16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 42.0
},
{
"name": "bench-access--18--15",
"x": -18,
"z": -15,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 41.0
},
{
"name": "bench-access--18--14",
"x": -18,
"z": -14,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 40.0
},
{
"name": "bench-access--17--16",
"x": -17,
"z": -16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 41.0
},
{
"name": "bench-access--17--15",
"x": -17,
"z": -15,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 40.0
},
{
"name": "bench-access--16--16",
"x": -16,
"z": -16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 40.0
},
{
"name": "bench-access--16--15",
"x": -16,
"z": -15,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 39.0
},
{
"name": "bench-access-16--16",
"x": 16,
"z": -16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 40.5
},
{
"name": "bench-access-16--15",
"x": 16,
"z": -15,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 39.5
},
{
"name": "bench-access-17--16",
"x": 17,
"z": -16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 41.5
},
{
"name": "bench-access-17--15",
"x": 17,
"z": -15,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 40.5
},
{
"name": "bench-access-18--16",
"x": 18,
"z": -16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 42.5
},
{
"name": "bench-access-18--15",
"x": 18,
"z": -15,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 41.5
},
{
"name": "bench-access-18--14",
"x": 18,
"z": -14,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 40.5
},
{
"name": "bench-access-21-34",
"x": 21,
"z": 34,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 46.0
},
{
"name": "bench-access-22-33",
"x": 22,
"z": 33,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 46.0
},
{
"name": "bench-access-22-34",
"x": 22,
"z": 34,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 47.0
},
{
"name": "bench-access-23-32",
"x": 23,
"z": 32,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 46.0
},
{
"name": "bench-access-23-33",
"x": 23,
"z": 33,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 47.0
},
{
"name": "bench-access-23-34",
"x": 23,
"z": 34,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 48.0
},
{
"name": "bench-access-31-1",
"x": 31,
"z": 1,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 38.5
},
{
"name": "bench-access-31-2",
"x": 31,
"z": 2,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 37.5
},
{
"name": "bench-access-31-3",
"x": 31,
"z": 3,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 36.5
}
]
},
"volume": {
"passed": true,
"outside_desired_voxels": 555598,
"desired_voxels": 710,
"mismatch_examples": [],
"scope_note": "Every voxel inside the supplied before snapshot; no claim for unobserved exterior voxels."
},
"note": "Point-sampled body headroom and navigation; not a full moving-player collision simulation.",
"input_sha256": {
"layout": "6ec0e65027080207dc8e5f7b19afaa7b33f6ddb723de5c3632cc6097592da581",
"metadata": "242507f39a354f04281bdf4a32a2fe05d9c144af9d1b7c7e7e8ddecc17976114",
"garden_plan": "699060010db084dc05c47400572ac4440784d1a0c3dbd877122decd183048923",
"garden_metadata": "400f672864117b62ed173600932ca04ab15a0c548587bb3d39f34eaa91484e89",
"garden_walk": "453c5ee1e699a59be845db22abc5e481915768ab229a79c0cc6019d8b3e39d0d",
"navigation": "1baf3c4ef2c1ddfca22240395fcde97b5210d97c9afe5cb2b6c3275154cfe044",
"before": "3172d03627e625d759a3b9ce881282e26db2926c35dd68ac0036047ae33c3488",
"after": "c77e8f953f257822f6f6489d397ab39f40459c18183743dbdbea3e168a193c65"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 KiB

@@ -0,0 +1,551 @@
{
"stage": "02-foundations-zones-01-02",
"total_checked_writes": 79081,
"journalled_batches": 67,
"final_changed_voxels": 78673,
"checks": {
"surface-verification": {
"version": 1,
"world": "shacraft_lobby_v2",
"scope": {
"project_id": "shacraft-lobby-v2",
"world_id": "6679385a-b67f-4e88-b6be-33836ced6f2d",
"world_epoch": "b7626ccf-9c75-4b00-9cf3-b8a42231c754"
},
"source": "Full live Paper surface maps plus observed baseline voxels and desired edit overlay",
"verified_surface_columns": 589824,
"affected_columns": 16901,
"outside_edit_columns_verified": 572923,
"changed_surface_columns": 16901,
"surface_mismatches": 0,
"outside_edit_surface_mismatches": 0,
"mismatch_examples": [],
"original_visible_water_columns": 41467,
"visible_water_surface_changes": 0,
"water_surface_change_examples": [],
"expected_states_checked_against_baseline": 78673,
"placed_or_replaced_voxels": 77950,
"removed_voxels": 723,
"lower_snapshot_voxels_consulted_after_cuts": 12,
"observed_water_voxels_replaced": [],
"water_preservation_passed": true,
"passed": true,
"capture_started_at": "2026-09-13T01:47:40.367423160Z",
"capture_finished_at": "2026-09-13T01:49:35.666216379Z",
"atomic_snapshot": false,
"note": "Sequential map captures; edits must be idle during each capture. This checks every visible surface and the observed water blocks in the edit. Hidden untouched blocks outside the voxel survey are not inferred. Live voxel and headroom checks are separate.",
"inputs_sha256": {
"before_map": "45612085877b44b0fc58a67f3c140049452b3fc8e8798ff816bd368852a2eaa2",
"after_map": "b4bc17c20864543fab5b03dd1f6ccecba2b79c261fa45f3c8497f1824fb8ccfa",
"baseline_voxels": "d53662eac3c06ed79d86ba5da9ce0e95c32ade146f6eb9f4f30782ec51ae8677",
"desired_layout": "22da24b01fa5d14f278253e48d97721ffb5341543b46827c17617020c1b47374"
}
},
"walk-verification": {
"checked_points": 15708,
"checked_route_edges": 0,
"failures": [],
"passed": true,
"scope": {
"project_id": "shacraft-lobby-v2",
"world_id": "6679385a-b67f-4e88-b6be-33836ced6f2d",
"world_epoch": "b7626ccf-9c75-4b00-9cf3-b8a42231c754"
},
"note": "Observed surface samples and vertical headroom; full cubes, slabs and explicit straight bottom-stair samples. Stair samples are a surface profile, not a full player-width collision simulation. Cached snapshot is not a live re-read."
},
"block-verification": {
"version": 1,
"source": "Complete final observed block-state survey",
"scope": {
"project_id": "shacraft-lobby-v2",
"world_id": "6679385a-b67f-4e88-b6be-33836ced6f2d",
"world_epoch": "b7626ccf-9c75-4b00-9cf3-b8a42231c754"
},
"verified_desired_blocks": 78673,
"mismatches": 0,
"mismatch_examples": [],
"passed": true,
"verified_by_desired_material": {
"minecraft:deepslate_bricks": 2983,
"minecraft:polished_andesite": 2635,
"minecraft:stone_brick_stairs": 724,
"minecraft:stone": 53085,
"minecraft:stone_bricks": 4399,
"minecraft:smooth_sandstone": 5776,
"minecraft:smooth_stone": 6343,
"minecraft:stone_brick_wall": 670,
"minecraft:grass_block": 561,
"minecraft:air": 723,
"minecraft:chiseled_stone_bricks": 27,
"minecraft:smooth_stone_slab": 27,
"minecraft:lantern": 27,
"minecraft:smooth_quartz": 236,
"minecraft:green_concrete": 457
},
"verified_by_group": {
"lake-radial-local-foundation": 963,
"lake-radial-local-paving": 403,
"edge-balustrades": 651,
"remove-obsolete-survey": 572,
"ring-northwest-local-foundation": 1116,
"ring-northwest-local-paving": 468,
"ring-northwest-local-clearance": 30,
"station-west-pilasters": 184,
"clock-station-foundation": 31398,
"station-west-arch-stones": 20,
"clock-station-paving": 5508,
"lamp-piers": 81,
"lamps": 27,
"station-west-blind-arcade": 146,
"portal-radial-local-foundation": 1054,
"portal-radial-local-paving": 531,
"portal-radial-local-clearance": 219,
"station-structural-bands": 256,
"lake-radial-local-clearance": 4,
"arrival-hex-foundation": 14211,
"arrival-hex-paving": 4741,
"station-forecourt-foundation": 3113,
"station-forecourt-paving": 1298,
"clock-station-clearance": 44,
"station-entrance-stair-foundation": 418,
"station-entrance-stair-paving": 161,
"station-forecourt-clearance": 86,
"arrival-medallion": 693,
"arrival-hex-clearance": 203,
"station-axis-foundation": 1166,
"station-axis-paving": 582,
"station-axis-clearance": 83,
"south-axis-local-foundation": 1658,
"south-axis-local-paving": 685,
"south-axis-local-clearance": 27,
"ring-northeast-local-foundation": 2663,
"station-ne-connection-foundation": 143,
"station-ne-connection-paving": 27,
"ring-northeast-local-paving": 505,
"east-radial-local-foundation": 1963,
"east-radial-local-paving": 451,
"ring-northeast-local-clearance": 8,
"east-radial-local-clearance": 8,
"temporary-bridge-threshold": 86,
"temporary-bridge-gates": 19
},
"desired_layout_sha256": "22da24b01fa5d14f278253e48d97721ffb5341543b46827c17617020c1b47374",
"snapshot_started_at": "2026-09-13T01:47:42.024943+00:00",
"snapshot_finished_at": "2026-09-13T01:48:27.217492+00:00",
"atomic_snapshot": false,
"note": "Full block states include slab/stair orientation, waterlogging and other properties. Sequential read snapshot; edits were completed before capture."
},
"navigation-verification": {
"version": 1,
"source": {
"x": 0,
"z": 9
},
"world_edits": 0,
"method": "Four quarter-center surface samples per clear cell; cardinal half-block BFS, rise/drop <= 0.5 block.",
"limitations": "Planned surface topology only. No headroom, body-width collision, material state or live-world verification. Width checks are cardinal cross-sections using the dominant local tangent; full declared masks are also checked.",
"geometry_sha256": "e5c78e645100261d1720e50ea23eaa65650eb796341facb9a50bed0ab392e736",
"planned_columns": 16309,
"clear_columns": 15140,
"surface_samples": 60560,
"reachable_samples": 60560,
"unreachable_clear_columns": [],
"unreachable_by_group": {},
"station": {
"name": "clock-station",
"x": -6,
"z": -105,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 119.0
},
"routes": [
{
"id": "station-axis",
"passed": true,
"declared_clear_width": 9,
"corridor_columns": 593,
"missing_corridor_columns": [],
"declared_clear_columns": 486,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 47,
"minimum_structural_cross_section": 9,
"minimum_clear_cross_section": 9,
"minimum_reachable_cross_section": 9,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0,
"centerline_jumps": [],
"endpoints": [
{
"name": "station-axis:start",
"x": 0,
"z": -37,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 45.5
},
{
"name": "station-axis:end",
"x": -6,
"z": -77,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 91.0
}
]
},
{
"id": "south-axis-local",
"passed": true,
"declared_clear_width": 9,
"corridor_columns": 685,
"missing_corridor_columns": [],
"declared_clear_columns": 565,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 59,
"minimum_structural_cross_section": 9,
"minimum_clear_cross_section": 9,
"minimum_reachable_cross_section": 9,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "south-axis-local:start",
"x": 0,
"z": 57,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 48.0
},
{
"name": "south-axis-local:end",
"x": 1,
"z": 110,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 102.0
}
]
},
{
"id": "portal-radial-local",
"passed": true,
"declared_clear_width": 7,
"corridor_columns": 531,
"missing_corridor_columns": [],
"declared_clear_columns": 376,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 70,
"minimum_structural_cross_section": 7,
"minimum_clear_cross_section": 7,
"minimum_reachable_cross_section": 7,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "portal-radial-local:start",
"x": -35,
"z": -14,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 57.0
},
{
"name": "portal-radial-local:end",
"x": -72,
"z": -46,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 126.0
}
]
},
{
"id": "lake-radial-local",
"passed": true,
"declared_clear_width": 5,
"corridor_columns": 403,
"missing_corridor_columns": [],
"declared_clear_columns": 297,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 63,
"minimum_structural_cross_section": 5,
"minimum_clear_cross_section": 5,
"minimum_reachable_cross_section": 5,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "lake-radial-local:start",
"x": -42,
"z": 18,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 50.5
},
{
"name": "lake-radial-local:end",
"x": -90,
"z": 32,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 112.5
}
]
},
{
"id": "east-radial-local",
"passed": true,
"declared_clear_width": 7,
"corridor_columns": 451,
"missing_corridor_columns": [],
"declared_clear_columns": 341,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 49,
"minimum_structural_cross_section": 7,
"minimum_clear_cross_section": 7,
"minimum_reachable_cross_section": 7,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "east-radial-local:start",
"x": 42,
"z": 16,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 49.0
},
{
"name": "east-radial-local:end",
"x": 82,
"z": 8,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 90.5
}
]
},
{
"id": "ring-northwest-local",
"passed": true,
"declared_clear_width": 7,
"corridor_columns": 468,
"missing_corridor_columns": [],
"declared_clear_columns": 350,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 53,
"minimum_structural_cross_section": 7,
"minimum_clear_cross_section": 7,
"minimum_reachable_cross_section": 7,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "ring-northwest-local:start",
"x": -40,
"z": -65,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 113.0
},
{
"name": "ring-northwest-local:end",
"x": -80,
"z": -77,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 165.0
}
]
},
{
"id": "ring-northeast-local",
"passed": true,
"declared_clear_width": 7,
"corridor_columns": 505,
"missing_corridor_columns": [],
"declared_clear_columns": 374,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 60,
"minimum_structural_cross_section": 7,
"minimum_clear_cross_section": 7,
"minimum_reachable_cross_section": 7,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "ring-northeast-local:start",
"x": 40,
"z": -95,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 151.0
},
{
"name": "ring-northeast-local:end",
"x": 82,
"z": -78,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 210.0
}
]
},
{
"id": "station-entrance-stair",
"passed": true,
"declared_clear_width": 21,
"corridor_columns": 161,
"missing_corridor_columns": [],
"declared_clear_columns": 147,
"nonclear_declared_columns": [],
"unreachable_declared_columns": [],
"cross_sections": 7,
"minimum_structural_cross_section": 21,
"minimum_clear_cross_section": 21,
"minimum_reachable_cross_section": 21,
"narrow_cross_sections": [],
"centerline_invalid_steps": [],
"centerline_maximum_boundary_step": 0.5,
"centerline_jumps": [],
"endpoints": [
{
"name": "station-entrance-stair:start",
"x": -6,
"z": -77,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 91.0
},
{
"name": "station-entrance-stair:end",
"x": -6,
"z": -83,
"surface_samples": 4,
"reachable_samples": 4,
"passed": true,
"shortest_surface_route_blocks": 97.0
}
]
}
],
"passed": true,
"final_walkable_mask": "Only columns explicitly covered by the passed actual support/headroom verification",
"non_walkable_perimeter_floor_columns_excluded": 454,
"non_walkable_perimeter_floor_examples": [
[
-51,
-145
],
[
-50,
-145
],
[
-49,
-145
],
[
-48,
-145
],
[
-47,
-145
],
[
-46,
-145
],
[
-45,
-145
],
[
-24,
-145
],
[
-23,
-145
],
[
-22,
-145
]
]
},
"lake-native-toe-verification": {
"checked_points": 3,
"checked_route_edges": 0,
"failures": [],
"passed": true,
"scope": {
"project_id": "shacraft-lobby-v2",
"world_id": "6679385a-b67f-4e88-b6be-33836ced6f2d",
"world_epoch": "b7626ccf-9c75-4b00-9cf3-b8a42231c754"
},
"note": "Observed surface samples and vertical headroom; full cubes, slabs and explicit straight bottom-stair samples. Stair samples are a surface profile, not a full player-width collision simulation. Cached snapshot is not a live re-read.",
"observed_supports": [
{
"x": -91,
"z": 31,
"y": 83,
"state": "minecraft:white_concrete"
},
{
"x": -91,
"z": 32,
"y": 83,
"state": "minecraft:grass_block[snowy=false]"
},
{
"x": -91,
"z": 33,
"y": 83,
"state": "minecraft:grass_block[snowy=false]"
}
],
"source": "live targeted RPC scan of native shore immediately outside the edit boundary"
}
},
"archive": "/home/emil/Desktop/Shacraft-Lobby-Archive",
"world_backup": "/home/emil/Desktop/minecraft-builder-mcp/.runtime/projects/shacraft-foundations-01-02-20260913"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 791 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 814 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 KiB

@@ -0,0 +1,16 @@
{
"world": "shacraft_lobby_v2",
"source": "live Paper surface maps + bounded RPC water reads",
"verified_surface_columns": 589824,
"surface_mismatches": 0,
"unique_marker_blocks": 16967,
"planned_writes": 17040,
"original_water_columns": 42399,
"water_columns_obscured_by_markers": 932,
"water_obscured_by_markers_verified_intact": true,
"height_unchanged_columns": 587098,
"capture_started_at": "2026-09-13T01:03:10.136933937Z",
"capture_finished_at": "2026-09-13T01:05:10.066341053Z",
"atomic_snapshot": false,
"note": "World edits were idle during each capture. Terrain follows its original heights; raised markers represent future structures, not finished traversable paths."
}
@@ -0,0 +1,11 @@
{
"recipe_id": "b013cd330993b262ed0192659c9276af33e1c6fdb749a02ad332086a6d99e56a",
"chunks": 2304,
"mismatches": 0,
"water_columns": 59609,
"min_surface_y": 48,
"max_surface_y": 203,
"elapsed_ms": 144136,
"world": "shacraft_lobby",
"verified_columns": 589824
}
@@ -0,0 +1,35 @@
{
"note": "Target surface only; no live world reads. Bounds clip writes, not height calculations. Cache holds 32 recipes until restart; save the recipe to regenerate the same ID.",
"world_verified": false,
"tile_budget": 4096,
"sampled_height_min": 22,
"tile_count": 27648,
"mode": "sculpt",
"status": "completed",
"tile_order": "x_then_z_then_y",
"tile_edge": 16,
"bounds": {
"worldId": "terrain",
"min": {
"x": -384,
"y": 16,
"z": -384
},
"max": {
"x": 383,
"y": 207,
"z": 383
}
},
"sampled_height_max": 203,
"terrain_id": "b013cd330993b262ed0192659c9276af33e1c6fdb749a02ad332086a6d99e56a",
"sample_grid": {
"height": 256,
"width": 256
},
"legend": "Dark green \u003d low; pale stone \u003d high; pink \u003d preserved at sampled surface",
"kind": "terrain_heightmap_preview",
"clipped_samples": 0,
"mimeType": "image/png",
"orientation": "north (-Z) up; east (+X) right"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

@@ -0,0 +1,11 @@
{
"elapsed_ms": 274728,
"max_surface_y": 204,
"min_surface_y": 48,
"water_columns": 42399,
"mismatches": 0,
"chunks": 2304,
"recipe_id": "fed10bf28fa544e7dba08d10c76a1130c67292856999b06a9fd672feeed39296",
"verified_columns": 589824,
"world": "shacraft_lobby_v2"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 946 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 648 KiB

@@ -0,0 +1,35 @@
{
"note": "Target surface only; no live world reads. Bounds clip writes, not height calculations. Cache holds 32 recipes until restart; save the recipe to regenerate the same ID.",
"world_verified": false,
"tile_budget": 4096,
"sampled_height_min": -43,
"tile_count": 27648,
"mode": "sculpt",
"status": "completed",
"tile_order": "x_then_z_then_y",
"tile_edge": 16,
"bounds": {
"worldId": "terrain",
"min": {
"x": -384,
"y": -48,
"z": -384
},
"max": {
"x": 383,
"y": 143,
"z": 383
}
},
"sampled_height_max": 139,
"terrain_id": "5f0c33cd7152806995906c6b9ee51024ddbe90c5e7f6585e653552df2f4aabf8",
"sample_grid": {
"height": 256,
"width": 256
},
"legend": "Dark green \u003d low; pale stone \u003d high; pink \u003d preserved at sampled surface",
"kind": "terrain_heightmap_preview",
"clipped_samples": 0,
"mimeType": "image/png",
"orientation": "north (-Z) up; east (+X) right"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

@@ -0,0 +1,20 @@
{
"world_applied": false,
"water_level": 48,
"fields": [
{
"name": "V1 \u2014 rectangular platforms",
"min_ground_y": 22.0,
"max_ground_y": 203.0,
"water_columns": 59609,
"slope_p95": 3.0
},
{
"name": "Study \u2014 ridges, soft hills, winding water",
"min_ground_y": 31.35810089111328,
"max_ground_y": 204.61903381347656,
"water_columns": 42399,
"slope_p95": 3.5214755985851562
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 820 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 936 KiB

@@ -0,0 +1,119 @@
{
"version": 1,
"scope": {
"project_id": "shacraft-lobby-v2",
"world_id": "6679385a-b67f-4e88-b6be-33836ced6f2d",
"world_epoch": "b7626ccf-9c75-4b00-9cf3-b8a42231c754"
},
"world_edits": 0,
"mode": "actual_after_snapshot",
"desired_blocks": 11502,
"interior_columns": 5888,
"independently_derived_wall_columns": 276,
"interior_voxels": 117673,
"interior_excluded_voxels": 87,
"volume_components": {
"components": [
{
"voxels": 117673,
"nonfull_voxels": 117473,
"contains_source": true
}
],
"source_in_volume": true,
"note": "Disconnected sealed components are reported, not treated as escapes. The entire required membrane and exterior flood are checked."
},
"membrane": {
"passed": true,
"required_voxels": 17276,
"parts": {
"wall": 5457,
"floor": 5870,
"folded_boundary": 61,
"roof": 5888
},
"observed_materials": {
"barrier": 11396,
"smooth_sandstone": 4080,
"smooth_stone": 447,
"cut_sandstone": 425,
"polished_andesite": 137,
"stone_bricks": 16,
"waxed_oxidized_cut_copper": 12,
"chiseled_stone_bricks": 16,
"grass_block": 377,
"dirt": 12,
"green_concrete": 356,
"gold_block": 2
},
"nonfull_voxels": 0,
"examples": [],
"method": "Every voxel in N6(interior volume) minus interior volume must be an observed full collision cube."
},
"exterior_flood": {
"passed": true,
"observed_voxels": 220584,
"exterior_reached_voxels": 78339,
"interior_reached_from_exterior": 0,
"source_reached_from_exterior": false,
"unknown_or_partial_blocks_treated_as_empty": {
"stone_brick_wall": 293,
"stone_brick_stairs": 42,
"smooth_sandstone_slab": 505,
"iron_bars": 128,
"waxed_oxidized_cut_copper_stairs": 64,
"iron_chain": 16,
"spruce_leaves": 479,
"lantern": 16,
"oxeye_daisy": 60,
"azure_bluet": 39,
"white_tulip": 62,
"oak_leaves": 58,
"allium": 50,
"spruce_fence": 18,
"spruce_stairs": 18,
"pink_tulip": 49,
"smooth_sandstone_stairs": 8,
"waxed_oxidized_cut_copper_slab": 3
},
"leak_examples": [],
"method": "Six-neighbor free-voxel exterior flood; only known full collision cubes obstruct it."
},
"player_probes": {
"passed": true,
"player_width": 0.6,
"player_height": 1.8,
"source_headroom_observed_air": true,
"swept_crossing_probes": {
"diagonal": 3288,
"cardinal": 2280,
"folded_boundary": 178,
"floor": 1,
"roof": 1
},
"unblocked_probes": 0,
"examples": [],
"note": "Supplementary swept-AABB boundary probes; the independently derived full membrane is the complete static containment criterion."
},
"preserved_decor": {
"passed": true,
"protected_observed_states": 1016,
"changed_states": 0,
"examples": []
},
"volume": {
"passed": true,
"outside_desired_voxels": 610596,
"desired_voxels": 11502,
"mismatch_examples": [],
"scope_note": "Every voxel inside the supplied before snapshot; no claim for unobserved exterior voxels."
},
"passed": true,
"limitations": "Static continuous collision containment for normal nonspectator players only. No protection against spectator, breaking/removing blocks, operator commands, plugin teleports or arbitrary discontinuous teleport/pearl behavior. Actual snapshots are sequential, not atomic.",
"input_sha256": {
"before": "9332c546f50b174ec39b01430525eb903c926b43cbdfaa956a539759fbf0f7b2",
"after": "5fdbffc42df7a799e792bf5b31c1c45f5a7e02e09844860898bcdd2f79e199b3",
"layout": "95b430dd0815c8b0d1b87932e9ac1033413f3e82766dd1d4e67aefe4cbaecfa8",
"metadata": "12caa7f14f15128736a0525a765f67a9d9f6b343fc912b36cd41d2e76ab39904"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 KiB

@@ -0,0 +1,28 @@
{
"capturedAt": "2026-09-13T12:33:57.784380033Z",
"dimension": "minecraft:shacraft_lobby_v2",
"x": -6.0,
"y": 113.0,
"z": -24.0,
"eyeY": 114.61999988555908,
"yaw": 180.0,
"pitch": -8.0,
"fov": 95,
"readiness": "local_chunks_and_render_queue_stable",
"serverRevisionVerified": false,
"loadedChunkRadius": 1,
"stabilizationTicks": 40,
"stabilizationFrames": 3,
"status": "completed",
"mimeType": "image/png",
"width": 1280,
"height": 720,
"sourceWidth": 1280,
"sourceHeight": 720,
"captureId": "4a5e4d45-78f8-4f3b-9c2a-a0a665c29fe4",
"imageSha256": "b3f36b132e62a661e8269b405dcc6e3e48ab3c20eb58894e333d2bbf92cbf262",
"imageBytes": 856573,
"elapsedSeconds": 5.063,
"transport": "authenticated Paper HTTP camera_capture",
"testMode": "one owner/spectator client"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 836 KiB

@@ -0,0 +1,28 @@
{
"capturedAt": "2026-09-13T12:37:51.019066137Z",
"dimension": "minecraft:shacraft_lobby_v2",
"x": 70.0,
"y": 151.0,
"z": -39.0,
"eyeY": 152.61999988555908,
"yaw": 133.0,
"pitch": 22.0,
"fov": 75,
"readiness": "local_chunks_and_render_queue_stable",
"serverRevisionVerified": false,
"loadedChunkRadius": 1,
"stabilizationTicks": 90,
"stabilizationFrames": 3,
"status": "completed",
"mimeType": "image/png",
"width": 1280,
"height": 720,
"sourceWidth": 1280,
"sourceHeight": 720,
"captureId": "c352f761-9dd9-409a-94f1-fc4fd364d7cc",
"imageSha256": "c06c1fbd498b0376f639e788f142c91bdb0e3509fa7ff3ce5846748311dd444e",
"imageBytes": 1302879,
"elapsedSeconds": 9.867,
"transport": "authenticated Paper HTTP camera_capture",
"testMode": "one owner/spectator client"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

@@ -0,0 +1,28 @@
{
"capturedAt": "2026-09-13T12:37:05.830431206Z",
"dimension": "minecraft:shacraft_lobby_v2",
"x": -46.0,
"y": 119.0,
"z": -104.0,
"eyeY": 120.61999988555908,
"yaw": 225.0,
"pitch": 12.0,
"fov": 85,
"readiness": "local_chunks_and_render_queue_stable",
"serverRevisionVerified": false,
"loadedChunkRadius": 1,
"stabilizationTicks": 40,
"stabilizationFrames": 3,
"status": "completed",
"mimeType": "image/png",
"width": 1280,
"height": 720,
"sourceWidth": 1280,
"sourceHeight": 720,
"captureId": "74fc1c80-5328-4dd4-90c7-4ce53661d814",
"imageSha256": "b5d319d2f216b6d6c8f9496e612a2e0066718c660ccad09fc959fedd9ed14354",
"imageBytes": 1259152,
"elapsedSeconds": 5.135,
"transport": "authenticated Paper HTTP camera_capture",
"testMode": "one owner/spectator client"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

@@ -0,0 +1,28 @@
{
"capturedAt": "2026-09-13T12:29:28.293904723Z",
"dimension": "minecraft:shacraft_lobby_v2",
"x": -5.5,
"y": 100.0,
"z": -91.5,
"eyeY": 101.61999988555908,
"yaw": 180.0,
"pitch": -6.0,
"fov": 85,
"readiness": "local_chunks_and_render_queue_stable",
"serverRevisionVerified": false,
"loadedChunkRadius": 1,
"stabilizationTicks": 150,
"stabilizationFrames": 3,
"status": "completed",
"mimeType": "image/png",
"width": 1280,
"height": 720,
"sourceWidth": 1280,
"sourceHeight": 720,
"captureId": "14496563-40e4-4c8b-a7cc-d111ad178b9d",
"imageSha256": "b420b4b71b22812a4f5bfc9464d1192856dd8d166e66526b579ff6c3e19ea905",
"imageBytes": 1024197,
"elapsedSeconds": 16.526,
"transport": "authenticated Paper HTTP camera_capture",
"testMode": "one owner/spectator client"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1000 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

@@ -0,0 +1,40 @@
# Shacraft clock station: vestibule and SMASH
Design v1, 13 September 2026. **Proposal only; no world edits were made.**
This design fits the saved, existing zone 02 foundation in `shacraft_lobby_v2`. The current station has a deck and setting-out bands, not a completed above-ground building. Its fixed overall envelope is 115 by 63 blocks; the occupied footprint is irregular. The final stage 02 geometry contains 5,764 station columns, including the east-edge recess. The earlier ideal outline contained 5,823 columns and is not the exact placement authority.
## Drawings
- [Coordinate plans and section](00-coordinate-plan.png) · [printable PDF](00-coordinate-plan.pdf)
- [First-floor vestibule](01-vestibule.png)
- [Second-floor SMASH hall](02-smash-floor.png)
- [Clock station cutaway](03-cutaway.png)
- [Exact coordinate specification and checks](layout.json)
- [Full image prompts](prompts.json)
The three perspective images were generated with the **built-in image_gen tool**. They establish architectural character and atmosphere. The coordinate plan and JSON govern dimensions and placement: generated ornament, block counts, lettering, map thumbnails and roof shapes are illustrative. In particular, the invented slogans in the SMASH image are not approved Shacraft copy. The technical plan was drawn deterministically with Pillow from the saved foundation cells.
## Spatial arrangement
The south entrance keeps the existing approach axis at X=-6. The exterior staircase is 21 blocks clear; the entrance and principal approach aisle are seven blocks clear. A green copper and warm brass-colored lift surround is visible from the doorway, with a small directory beside it. Benches and planting occupy the side galleries. Column positions align vertically; pale stone arches and spruce ceiling panels continue the original clock-station reference.
The first-floor paving remains at block Y98, with feet at Y99. The two-block intermediate deck occupies Y111 and Y112; SMASH is walked at Y113. This gives 12 blocks of structural clear height below the intermediate deck and 11 above it, before the next ceiling begins at Y124. Hanging lamps and decorative beams may reduce local headroom; keep at least four clear blocks over public circulation. The proposed main roof has eaves at Y126 and ridge at Y140; the clock-tower peak is Y158. These are proposed heights, not measurements of an existing shell.
The lift housing occupies X=-10..-2, Z=-124..-116 on both floors. Two-block walls leave a 5 by 5 clear cabin, with a five-block opening facing south. The suggested eventual behavior is a personal floor selection and transition between enclosed stationary cabins, preventing one player's selection from moving everyone else. Lift controls, animation and world transfers are not implemented by this design. Future floors can reuse the shaft alignment, but their height, roof integration and circulation need a further design pass.
## SMASH floor
The user confirmed the Shotbow-style mode: accumulating damage increases knockback, players double-jump and attempt to knock opponents off the arena. See [Shotbow's getting-started guide](https://wiki.shotbow.net/SMASH_Getting_Started).
Six seven-by-five selection alcoves line the north wall, with three blocks between adjacent alcoves and a seven-block clear aisle in front. Each contains an arena illustration and an ordinary sign at reachable height. Slots 01–06 are **unassigned placeholders**: arena names, destinations and live status are not invented here. Later, each sign can connect to its arena world or queue.
A 19 by 15 decorative island diorama occupies the western part of the main hall. Its small islands and static figures explain knockback visually. The display sits above a solid floor, behind a stone-and-glass enclosure. It is scenery, not a playable arena or a hole through the building. The west gallery explains damage, knockback and double jumping; the east gallery provides waiting space. Burnt-orange and dark-red accents distinguish SMASH while retaining Shacraft's green copper, cream stone, spruce and warm lighting.
## Evidence and limits
`draw-plan.py` checks all specified columns, benches, the lift housing, display and selection bays against a two-block setback inside the saved foundation. It checks for furnishing overlaps and keeps the seven-block entrance aisle and bay-front aisle clear. These are design checks, not a collision test of a constructed building.
Sources are `.runtime/foundations-stage02/foundations-final.geometry.json` and the saved `zone01-complete.json` surface export; its capture time is recorded in `layout.json`. That export is not an atomic or fresh live scan. It shows only deck, parapet and lamp heights in this footprint. Before building, inspect current voxels again, preserve manual changes, save a backup and implement with conflict-aware batches. Zone 01's existing containment remains in place until a separate, checked opening of the station route.
For a design rebuild in the main repository, run `python3 docs/references/zone02-interior-v1/draw-plan.py` with Pillow available and the source geometry/export retained. Roof overhangs, arches, window bays and decorative block palettes remain to be detailed during the building pass within the selected region. No additional minigame rooms or playable arenas are included in this stage.
@@ -0,0 +1,10 @@
0aa7b7be08876532e84c3567ab1c4ee1fc6a55f8232e6ad47398f7de43505653 00-coordinate-plan.pdf
9b549bd047b54521e6d2edaa3d09bd7c128cb1d31fd1e170b16d0a9b00d93dc3 00-coordinate-plan.png
5ba4142fa4e0cbcc21770e438ca963762c157e242598908c9326f0479b3c3d86 01-vestibule.png
c23c425ffefa5626e56ab83548e1b2c3f8ed38ab7f686d2d00da93e15d86d41b 02-smash-floor.png
cd8232d0c27ea25b60510128ebdca629b8872288e9ee95db6fa919c34ae0273f 03-cutaway.png
37702b2c8337cba6d301d37c7d88151ad930fb6c474954733cfe0771a820a75a README.md
1c90cf98558c079ba3ef3ebd3cd2d8dee17cecc01535875a9ab1f23a99577d03 draw-plan.py
6341286d9f66171788fc06dfa8368d0ce9cc195de398963465a87337dff5c091 generation-sources.json
135b16fcaaab87030cd78bed3129a0edfeb2aaa8de519245e1746879e45d6b83 layout.json
a361e3016e38e95d8dbc865c70d8d256f48f085ac8f1f37c866ec403b445d605 prompts.json
@@ -0,0 +1,180 @@
"""Render the proposed station layout against the saved, block-exact foundation.
Read-only design utility; it never connects to or writes the Minecraft world.
All X/Z boxes are inclusive block coordinates. Pillow is required.
"""
import json
from pathlib import Path
from collections import Counter
from PIL import Image, ImageDraw, ImageFont
OUT = Path(__file__).resolve().parent
ROOT = OUT.parents[2]
SOURCE = ROOT / '.runtime/foundations-stage02/foundations-final.geometry.json'
geometry = json.loads(SOURCE.read_text())
foot = {(c['x'], c['z']) for c in geometry['cells'] if c['group'] == 'clock-station'}
inner = {p for p in foot if all((p[0]+dx,p[1]+dz) in foot for dx in range(-2,3) for dz in range(-2,3))}
walls = foot-inner
def cells(box):
a,b,c,d = box
return {(x,z) for x in range(a,b+1) for z in range(c,d+1)}
core = [-10,-2,-124,-116]
cabin = [-8,-4,-122,-118]
bays = [[x-3,x+3,-140,-136] for x in [-42,-32,-22,-12,-2,8]]
display = [-42,-24,-124,-110]
pillars = [[x,x+1,z,z+1] for x in [-69,-49,-19,17,31] for z in [-127,-104]]
benches = [[x,x+7,z,z+1] for x in [-67,24] for z in [-132,-108]]
features = {'lift housing':core,'lift cabin':cabin,'display':display}
features.update({f'arena bay {i+1}':b for i,b in enumerate(bays)})
features.update({f'column {i+1}':b for i,b in enumerate(pillars)})
features.update({f'bench {i+1}':b for i,b in enumerate(benches)})
for name,box in features.items():
assert cells(box) <= inner, (name,'outside two-block perimeter setback')
solid_features = [core,display,*bays,*pillars,*benches]
for i,a in enumerate(solid_features):
for b in solid_features[i+1:]:
assert not cells(a)&cells(b), ('furniture overlap',a,b)
route = cells([-9,-3,-115,-85])
assert route <= foot
assert not route & set().union(*(cells(b) for b in solid_features))
bay_aisle = cells([-46,11,-135,-129])
assert bay_aisle <= inner
assert not bay_aisle & set().union(*(cells(b) for b in solid_features))
map_path = ROOT / '.runtime/server/plugins/ShacraftTerrain/maps/zone01-complete.json'
surface=json.loads(map_path.read_text())
hist=Counter(surface['surface_y'][(z-surface['min_z'])*surface['width']+x-surface['min_x']] for x,z in foot)
design = {
'status':'PROPOSAL ONLY. Foundation is surveyed; walls, interiors and upper levels are not built.',
'world':'shacraft_lobby_v2','coordinate_convention':'X/Z boxes include both endpoints. Floor Y is block Y; walk Y is top of that floor.',
'foundation_source':str(SOURCE.relative_to(ROOT)), 'surface_capture_finished_at':surface['capture_finished_at'],
'foundation_columns':len(foot),'foundation_bounds':[-74,40,-145,-83], 'foundation_surface_height_counts':dict(hist),
'floors':[{'name':'1 Vestibule','floor_block_y':98,'walk_y':99,'ceiling_underside_y':111,'clear_height':12},
{'name':'2 Smash','floor_block_y':112,'walk_y':113,'ceiling_underside_y':124,'clear_height':11}],
'intermediate_deck_block_y':[111,112], 'perimeter_wall_thickness':2,
'main_roof_eaves_y':126,'main_roof_ridge_y':140,'clocktower_peak_y':158,
'entrance_axis_x':-6,'entrance_opening_x':[-9,-3],'entrance_threshold_z':[-84,-83],
'lift':{'housing':core,'clear_cabin':cabin,'door_clear_x':[-8,-4],'door_z':[-117,-116],'opens':'south','same_location_on_both_floors':True},
'smash_display':display,'smash_selection_bays':bays,'aligned_columns':pillars,'wing_benches':benches,
'reserved_clear_aisles':{'entry':[-9,-3,-115,-85],'bay_front':[-46,11,-135,-129]},
'checks':{'features_inside_two_block_setback':True,'solid_features_do_not_overlap':True,'entry_route_clear_width':7,'bay_front_clear_depth':7},
'limitations':['Saved surface export is not a fresh live scan.', 'Containment and overlap checks cover the proposed plan, not constructed voxels.',
'Generated perspectives are artistic references; this coordinate specification governs placement.', 'Arena sign slots are unassigned, not working destinations.',
'Future floors need an explicit roof/height design before construction. Only the lift alignment is reserved.']}
(OUT/'layout.json').write_text(json.dumps(design,indent=2)+'\n')
W,H=2000,1530
im=Image.new('RGB',(W,H),'#f5f1e7'); d=ImageDraw.Draw(im)
REG='/usr/share/fonts/truetype/ibm-plex/IBMPlexSans-Regular.ttf'
BOLD='/usr/share/fonts/truetype/ibm-plex/IBMPlexSans-SemiBold.ttf'
SERIF='/usr/share/fonts/truetype/ibm-plex/IBMPlexSerif-Regular.ttf'
def text(x,y,s,size=22,color='#203e36',bold=False,anchor=None):
d.text((x,y),s,font=ImageFont.truetype(BOLD if bold else REG,size),fill=color,anchor=anchor)
text(65,35,'SHACRAFT / CLOCK STATION',44,bold=True)
text(65,93,'01 VESTIBULE + 02 SMASH / COORDINATE PLAN / DESIGN v1',22)
text(65,133,'Fixed foundation: 115 x 63 blocks overall. North is up. Both plans use the same 1-block grid.',21)
green='#376956';orange='#bd633b';wall='#58635c';floor='#e8dfcc';gold='#d0aa54'
def plan(ox,title,upper=False):
oy=255; sc=7
def xy(x,z): return ox+(x+74)*sc,oy+(z+145)*sc
def box(b,fill,outline=None):
a,c=xy(b[0],b[2]);bb,dd=xy(b[1]+1,b[3]+1)
d.rectangle((a,c,bb-1,dd-1),fill=fill,outline=outline)
def label(x,z,s,size=17,col='#203e36'):
a,b=xy(x,z);text(a,b,s,size,col,anchor='mm')
text(ox,196,title,28,bold=True)
for x,z in foot: box([x,x,z,z], wall if (x,z) in walls else floor)
# Discrete occupied columns avoid polygon boundary ambiguity.
for x,z in inner:
a,b=xy(x,z)
d.line((a,b,a+sc,b),fill='#ddd5c4')
d.line((a,b,a,b+sc),fill='#ddd5c4')
for b in pillars: box(b,'#7b8177')
for b in benches: box(b,'#957753')
box(core,green);box(cabin,'#cbdcd0')
box([-8,-4,-117,-116],'#cbdcd0')
label(-5.5,-120,'L',21)
if upper:
box(display,orange)
label(-32.5,-118,'DISPLAY',16,'#ffffff')
label(-32.5,-114,'19 x 15',16,'#ffffff')
for i,b in enumerate(bays):
box(b,gold);label((b[0]+b[1]+1)/2,-137.5,f'{i+1:02}',16)
label(-17,-132,'7-BLOCK CLEAR AISLE',17)
label(-60,-118,'RULES',17)
label(28,-118,'WAIT',17)
label(-5,-94,'SOUTH GALLERY',17)
else:
label(-58,-118,'WAITING',17)
label(28,-118,'WAITING',17)
label(-34,-117,'VESTIBULE',19)
box([1,7,-113,-111],gold)
label(4,-107,'DIRECTORY',15)
# South doorway through both perimeter wall blocks.
box([-9,-3,-84,-83],floor)
a,b=xy(-5.5,-88);c,e=xy(-5.5,-111)
d.line((a,b,c,e),fill=green,width=4)
d.polygon([(c,e),(c-8,e+14),(c+8,e+14)],fill=green)
label(-5.5,-97,'7 wide',15)
# Outside dimensions and orientation.
text(ox+402,oy-21,'115 blocks',19,anchor='mm')
d.line((ox,oy-8,ox+805,oy-8),fill=wall,width=2)
for x in [ox,ox+805]: d.line((x,oy-14,x,oy-2),fill=wall,width=2)
text(ox+842,oy+213,'63',21,anchor='mm');text(ox+842,oy+240,'blocks',16,anchor='mm')
d.line((ox+817,oy,ox+817,oy+441),fill=wall,width=2)
for z in [-145,-125,-105,-83]:
a,b=xy(-74,z);text(a-12,b,str(z),15,anchor='rm')
for x in [-74,-50,-25,0,40]:
a,b=xy(x,-82);text(a,b+18,str(x),16,anchor='mm')
text(ox+23,oy+398,'N',23,bold=True)
d.line((ox+31,oy+397,ox+31,oy+358),fill=green,width=3)
d.polygon([(ox+31,oy+352),(ox+23,oy+366),(ox+39,oy+366)],fill=green)
text(ox,oy+491,'X: east-west / Z: north-south / unit: one block',18)
plan(105,'01 / VESTIBULE • WALK Y99')
plan(1100,'02 / SMASH • WALK Y113',True)
d.line((65,792,1935,792),fill='#bdb8aa',width=2)
text(65,825,'SECTION / ENTRANCE AXIS X = -6',27,bold=True)
text(1060,825,'DESIGN RULES',27,bold=True)
# North at left, south at right; Y shown as world surface elevations.
sx,sy,scale=105,1200,11
def section_box(z0,z1,y0,y1,fill):
d.rectangle((sx+(z0+145)*scale,sy-(y1-98)*scale,sx+(z1+145)*scale-1,sy-(y0-98)*scale-1),fill=fill)
section_box(-145,-82,98,99,wall)
section_box(-145,-82,111,113,wall)
section_box(-145,-82,124,126,wall)
section_box(-145,-143,99,124,wall)
section_box(-84,-82,99,124,wall)
section_box(-84,-82,99,105,'#f5f1e7')
for y in [99,113]:
top=111 if y==99 else 124
section_box(-124,-122,y,top,green)
section_box(-118,-116,y+6,top,green)
section_box(-122,-118,y,y+0.25,gold)
for y,lab in [(99,'Y99 / level 1'),(111,'Y111 / ceiling'),(113,'Y113 / level 2'),(124,'Y124 / ceiling')]:
yy=sy-(y-98)*scale
d.line((sx-12,yy,sx+720,yy),fill='#b4afa2',width=1)
text(sx+735,yy,lab,18,anchor='lm')
text(455,1072,'12 clear',23,anchor='mm')
text(455,924,'11 clear',23,anchor='mm')
text(105,1234,'NORTH',18);text(735,1234,'SOUTH / ENTRY',18)
notes=[
'Fixed footprint; 2-block perimeter walls.',
'Lift: 9 x 9 housing; 5 x 5 clear cabin.',
'Same shaft and south-facing door on both floors.',
'Six 7 x 5 sign bays; destinations remain unassigned.',
'SMASH display is scenery on a solid, enclosed floor.',
'Gameplay takes place in separate arena worlds.',
'Future stories are not furnished or dimensioned here.',
'Concept images illustrate style; layout.json governs placement.'
]
for i,s in enumerate(notes): text(1060,878+i*43,s,21)
text(65,1320,'VERIFIED AGAINST THE SAVED FOUNDATION',22,bold=True)
text(65,1358,f'{len(foot):,} foundation columns • all specified furnishings inside the wall setback • no furnishing overlaps',21)
text(65,1394,'This is a design drawing, not a live scan or a completed building. Above-ground shell and floors are proposed.',21)
text(65,1452,'SOURCE: foundations-final.geometry.json + zone01-complete surface export / 13 SEP 2026',18)
im.save(OUT/'00-coordinate-plan.png')
im.save(OUT/'00-coordinate-plan.pdf',resolution=150)
print(json.dumps({'saved':str(OUT),'foundation_columns':len(foot),'height_counts':dict(hist),'checks':'passed'}))
@@ -0,0 +1,5 @@
{
"01-vestibule": "/home/emil/.codex/generated_images/01a096c0-89c4-73b3-b5c7-69c847aebebf/exec-20fd3d79-6c5c-47f8-b312-d0a557f7ca01.png",
"02-smash-floor": "/home/emil/.codex/generated_images/01a096c0-89c4-73b3-b5c7-69c847aebebf/exec-65601ecd-0dd8-46fd-bb8c-7a5a1793cc52.png",
"03-cutaway": "/home/emil/.codex/generated_images/01a096c0-89c4-73b3-b5c7-69c847aebebf/exec-875ff00a-540a-41e2-bf0c-b26fac132054.png"
}
@@ -0,0 +1,235 @@
{
"status": "PROPOSAL ONLY. Foundation is surveyed; walls, interiors and upper levels are not built.",
"world": "shacraft_lobby_v2",
"coordinate_convention": "X/Z boxes include both endpoints. Floor Y is block Y; walk Y is top of that floor.",
"foundation_source": ".runtime/foundations-stage02/foundations-final.geometry.json",
"surface_capture_finished_at": "2026-09-13T11:16:27.647422004Z",
"foundation_columns": 5764,
"foundation_bounds": [
-74,
40,
-145,
-83
],
"foundation_surface_height_counts": {
"98": 5500,
"99": 252,
"102": 12
},
"floors": [
{
"name": "1 Vestibule",
"floor_block_y": 98,
"walk_y": 99,
"ceiling_underside_y": 111,
"clear_height": 12
},
{
"name": "2 Smash",
"floor_block_y": 112,
"walk_y": 113,
"ceiling_underside_y": 124,
"clear_height": 11
}
],
"intermediate_deck_block_y": [
111,
112
],
"perimeter_wall_thickness": 2,
"main_roof_eaves_y": 126,
"main_roof_ridge_y": 140,
"clocktower_peak_y": 158,
"entrance_axis_x": -6,
"entrance_opening_x": [
-9,
-3
],
"entrance_threshold_z": [
-84,
-83
],
"lift": {
"housing": [
-10,
-2,
-124,
-116
],
"clear_cabin": [
-8,
-4,
-122,
-118
],
"door_clear_x": [
-8,
-4
],
"door_z": [
-117,
-116
],
"opens": "south",
"same_location_on_both_floors": true
},
"smash_display": [
-42,
-24,
-124,
-110
],
"smash_selection_bays": [
[
-45,
-39,
-140,
-136
],
[
-35,
-29,
-140,
-136
],
[
-25,
-19,
-140,
-136
],
[
-15,
-9,
-140,
-136
],
[
-5,
1,
-140,
-136
],
[
5,
11,
-140,
-136
]
],
"aligned_columns": [
[
-69,
-68,
-127,
-126
],
[
-69,
-68,
-104,
-103
],
[
-49,
-48,
-127,
-126
],
[
-49,
-48,
-104,
-103
],
[
-19,
-18,
-127,
-126
],
[
-19,
-18,
-104,
-103
],
[
17,
18,
-127,
-126
],
[
17,
18,
-104,
-103
],
[
31,
32,
-127,
-126
],
[
31,
32,
-104,
-103
]
],
"wing_benches": [
[
-67,
-60,
-132,
-131
],
[
-67,
-60,
-108,
-107
],
[
24,
31,
-132,
-131
],
[
24,
31,
-108,
-107
]
],
"reserved_clear_aisles": {
"entry": [
-9,
-3,
-115,
-85
],
"bay_front": [
-46,
11,
-135,
-129
]
},
"checks": {
"features_inside_two_block_setback": true,
"solid_features_do_not_overlap": true,
"entry_route_clear_width": 7,
"bay_front_clear_depth": 7
},
"limitations": [
"Saved surface export is not a fresh live scan.",
"Containment and overlap checks cover the proposed plan, not constructed voxels.",
"Generated perspectives are artistic references; this coordinate specification governs placement.",
"Arena sign slots are unassigned, not working destinations.",
"Future floors need an explicit roof/height design before construction. Only the lift alignment is reserved."
]
}
@@ -0,0 +1,8 @@
{
"mode": "built-in image_gen",
"prompts": {
"01-vestibule": "Use case: stylized-concept.\nAsset type: architectural Minecraft building reference for SHACRAFT, design proposal, not a game screenshot.\nProject: Alpine clock station / minigame selection hub on an already built irregular foundation. All geometry must look buildable using Minecraft blocks, stairs, slabs, fences and panes. Pale sandstone and cream masonry, dark stone plinths, spruce, oxidized green copper, muted brass, warm lanterns, forest-green SHACRAFT banners with a simple gold S. Restrained excellent craftsmanship, architectural clarity, no visual clutter. No sci-fi, no neon holograms, no modern shopping mall. Tiny Minecraft players only as 2-block height scale figures.\nHard spatial brief: foundation east-west 115 blocks overall and north-south 63 blocks maximum. Broad main hall 68 blocks wide by 48 deep, west pavilion 23 wide and east pavilion24 wide, both42 deep. A south entrance projection39 wide by16 deep is offset 11 blocks east of the whole building center. Entrance faces south and has a21-block-wide external staircase rising3 blocks. First floor feetY99, next floor feetY113; a two-block deck atY111..112 gives12 blocks of first-floor clear height. Second floor has11 blocks clear height, next ceiling beginsY124. Lift housing9x9 blocks with usable cabin5x5, on entrance axis x=-6, z=-120, opens south on BOTH floors. Interior rooms have2-block-thick perimeter walls and believable aligned masonry columns. Main ridgeY140; clocktower peakY158. Only two floors are furnished. Future floors remain a design reservation, no extra themed rooms.\n\nPrimary request: Draw ONE large, beautiful interior architectural perspective of the FIRST-FLOOR VESTIBULE, landscape16:9. Camera from south entrance facing north, eye height about3 blocks above floor, moderate wide-angle with straight credible verticals. In the center background, clearly visible forest-green/brass lift doorway9 blocks wide with5-block-wide opening, housed in a square structural core. A long7-block-clear cream stone aisle goes directly from entrance to lift. Immediately beside lift a small readable directory says only \"1 LOBBY\" and \"2 SMASH\". Show a substantial ceiling12 blocks above floor, ribbed masonry arches and deep spruce ceiling panels, no giant open roof or infinite atrium. Side aisles lead left and right into quieter waiting galleries with spruce benches, planters in stone urns and warm lamps. Floor has a restrained forest-green geometric compass mosaic OFF the straight route; do not block path with statue or fountain. Foreground side corners frame pale stone door jambs. Warm daylight through tall side windows. Keep actual usable scale of main hall, the view shows a section of its width rather than a falsely narrow corridor. Small centered title in a slim cream margin: \"SHACRAFT / 01 VESTIBULE\". Beautiful plausible Minecraft block design, not a real-world cathedral.",
"02-smash-floor": "Use case: stylized-concept.\nAsset type: architectural Minecraft building reference for SHACRAFT, design proposal, not a game screenshot.\nProject: Alpine clock station / minigame selection hub on an already built irregular foundation. All geometry must look buildable using Minecraft blocks, stairs, slabs, fences and panes. Pale sandstone and cream masonry, dark stone plinths, spruce, oxidized green copper, muted brass, warm lanterns, forest-green SHACRAFT banners with a simple gold S. Restrained excellent craftsmanship, architectural clarity, no visual clutter. No sci-fi, no neon holograms, no modern shopping mall. Tiny Minecraft players only as 2-block height scale figures.\nHard spatial brief: foundation east-west 115 blocks overall and north-south 63 blocks maximum. Broad main hall 68 blocks wide by 48 deep, west pavilion 23 wide and east pavilion24 wide, both42 deep. A south entrance projection39 wide by16 deep is offset 11 blocks east of the whole building center. Entrance faces south and has a21-block-wide external staircase rising3 blocks. First floor feetY99, next floor feetY113; a two-block deck atY111..112 gives12 blocks of first-floor clear height. Second floor has11 blocks clear height, next ceiling beginsY124. Lift housing9x9 blocks with usable cabin5x5, on entrance axis x=-6, z=-120, opens south on BOTH floors. Interior rooms have2-block-thick perimeter walls and believable aligned masonry columns. Main ridgeY140; clocktower peakY158. Only two floors are furnished. Future floors remain a design reservation, no extra themed rooms.\n\nPrimary request: Draw ONE large, beautiful interior architectural perspective of the SECOND-FLOOR SMASH SELECTION HALL, landscape16:9. Camera near south-east part of main hall looking north-west. Include the green/brass9x9 lift core on right, its opening on its south face visible obliquely, with clear sign \"1 LOBBY\". Left foreground is a19x15-block enclosed decorative display on an intact solid floor: three small voxel floating rock islands mounted over a dark inset plinth, two static small Minecraft figures, one knocked away on a restrained gold block motion arc. This is a MUSEUM DIORAMA with low glass-and-stone protective railing, not an actual combat arena, no lethal pit, no broken public floor. A seven-block-clear aisle passes around display.\nAlong north wall in background EXACTLY SIX recessed selection bays, each7 blocks wide, separated by3 blocks; they have spruce Minecraft signboards at player reach height with a small thumbnail map plaque above and numbered headings \"01\", \"02\", \"03\", \"04\", \"05\", \"06\". These are placeholders for future arenas, no invented live player counts or glowing portals. A large tasteful block-built \"SMASH\" header above back bays. West wall small visual plaques illustrate damage, knockback, double jump using voxel pictograms. SMASH accent colors burnt orange and dark red banners, balanced with Shacraft green. Keep the same cream stone columns, spruce, green copper and brass as vestibule. Ceiling is11 blocks above floor, visible solid ceiling and rafters, not infinitely tall. Daylight, warm readable practical space. Title in slim cream margin: \"SHACRAFT / 02 SMASH\".",
"03-cutaway": "Use case: stylized-concept.\nAsset type: architectural Minecraft building reference for SHACRAFT, design proposal, not a game screenshot.\nProject: Alpine clock station / minigame selection hub on an already built irregular foundation. All geometry must look buildable using Minecraft blocks, stairs, slabs, fences and panes. Pale sandstone and cream masonry, dark stone plinths, spruce, oxidized green copper, muted brass, warm lanterns, forest-green SHACRAFT banners with a simple gold S. Restrained excellent craftsmanship, architectural clarity, no visual clutter. No sci-fi, no neon holograms, no modern shopping mall. Tiny Minecraft players only as 2-block height scale figures.\nHard spatial brief: foundation east-west 115 blocks overall and north-south 63 blocks maximum. Broad main hall 68 blocks wide by 48 deep, west pavilion 23 wide and east pavilion24 wide, both42 deep. A south entrance projection39 wide by16 deep is offset 11 blocks east of the whole building center. Entrance faces south and has a21-block-wide external staircase rising3 blocks. First floor feetY99, next floor feetY113; a two-block deck atY111..112 gives12 blocks of first-floor clear height. Second floor has11 blocks clear height, next ceiling beginsY124. Lift housing9x9 blocks with usable cabin5x5, on entrance axis x=-6, z=-120, opens south on BOTH floors. Interior rooms have2-block-thick perimeter walls and believable aligned masonry columns. Main ridgeY140; clocktower peakY158. Only two floors are furnished. Future floors remain a design reservation, no extra themed rooms.\n\nPrimary request: Create ONE polished landscape architectural cutaway axonometric reference sheet, wide3:2 format, ivory background, thin dark green labels. A dominant three-quarter view looking from south-east shows the WHOLE clock station, broad horizontal wings, original grand green copper roofs, prominent slightly off-center front clock tower. Remove front and right portions of wall and selected roof to reveal EXACTLY TWO furnished stacked floors without concealing their connection. Ground floor is a cream stone vestibule with central arrival aisle, benches in wings, square green/brass lift core at rear of arrival aisle. Upper floor directly above has same aligned core, a small contained floating-island display in left half, six signboard alcoves along rear wall. Floor slab between them clearly shown, consistent14-block floor-to-floor spacing. Remaining roofs are translucent linework only where needed. Upper clock tower contains clockwork silhouette, not extra furnished game rooms. Foundation shape must remain broad main hall plus end pavilions, shallow rear mainhall projection and south projecting tower entrance, not a rectangular skyscraper. No extra buildings or landscape.\nAdd three neat callouts only: \"01 VESTIBULE / WALK Y99\", \"02 SMASH / WALK Y113\", \"LIFT / 5 x 5 CLEAR\". Add small title \"SHACRAFT / CLOCK STATION\" and subtitle \"Two-floor interior concept\". Add note at bottom \"Concept view - coordinate plan governs dimensions\". Strong visually legible separation of floors, genuine Minecraft voxel scale, warm copper and stone, refined presentation, no dense fake dimensions."
}
}