Files
Emil 89c53d7058 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.
2026-09-13 16:59:13 +03:00

2892 lines
38 KiB
JSON

{
"schema": "shacraft-layout-access-supplement-v1",
"world": "shacraft_lobby_v2",
"base_plan_unchanged": true,
"routes": [
{
"id": "boardwalk-north-stairs",
"name": "Portal court / boardwalk stair",
"waypoints": [
[
-167,
-82
],
[
-172,
-77
],
[
-177,
-69
]
],
"points": [
[
-167,
-82
],
[
-168,
-81
],
[
-169,
-80
],
[
-170,
-80
],
[
-170,
-79
],
[
-171,
-78
],
[
-172,
-77
],
[
-172,
-76
],
[
-173,
-75
],
[
-174,
-75
],
[
-174,
-74
],
[
-174,
-73
],
[
-175,
-72
],
[
-176,
-71
],
[
-176,
-70
],
[
-177,
-69
]
],
"width": 3,
"role": "stairs",
"minimum_marker_y": 51,
"design_intent": "Reserve descending stair flight and water landing; never replace water.",
"labels": [
{
"point": [
-167,
-82
],
"text": "LAKE BOARDWALK / FUTURE STAIRS"
}
],
"analysis": {
"ground_min": 43.6,
"ground_max": 56.7,
"water_samples": 5,
"length": 18.3
},
"marker_y_by_point": [
56,
55,
54,
53,
53,
52,
51,
51,
51,
51,
51,
51,
51,
51,
51,
51
]
},
{
"id": "boardwalk-south-stairs",
"name": "Waterworks / boardwalk stair",
"waypoints": [
[
-145,
70
],
[
-158,
72
],
[
-173,
74
],
[
-189,
75
]
],
"points": [
[
-145,
70
],
[
-146,
70
],
[
-147,
70
],
[
-148,
70
],
[
-149,
71
],
[
-150,
71
],
[
-151,
71
],
[
-152,
71
],
[
-153,
71
],
[
-154,
71
],
[
-155,
72
],
[
-156,
72
],
[
-157,
72
],
[
-158,
72
],
[
-159,
72
],
[
-160,
72
],
[
-161,
72
],
[
-162,
72
],
[
-163,
73
],
[
-164,
73
],
[
-165,
73
],
[
-166,
73
],
[
-167,
73
],
[
-168,
73
],
[
-169,
74
],
[
-170,
74
],
[
-171,
74
],
[
-172,
74
],
[
-173,
74
],
[
-174,
74
],
[
-175,
74
],
[
-176,
74
],
[
-177,
74
],
[
-178,
74
],
[
-179,
74
],
[
-180,
74
],
[
-181,
74
],
[
-181,
75
],
[
-182,
75
],
[
-183,
75
],
[
-184,
75
],
[
-185,
75
],
[
-186,
75
],
[
-187,
75
],
[
-188,
75
],
[
-189,
75
]
],
"width": 3,
"role": "stairs",
"minimum_marker_y": 51,
"design_intent": "Reserve an approximately 45-block descent from the viewing terrace to the Y51 boardwalk.",
"labels": [
{
"point": [
-145,
70
],
"text": "BOARDWALK / FUTURE STAIRS"
}
],
"analysis": {
"ground_min": 45.7,
"ground_max": 69.2,
"water_samples": 4,
"length": 46.7
},
"marker_y_by_point": [
69,
68,
68,
68,
67,
67,
67,
66,
66,
65,
65,
65,
64,
63,
63,
62,
61,
61,
61,
60,
59,
59,
59,
58,
58,
58,
57,
56,
56,
55,
55,
54,
54,
53,
52,
52,
51,
51,
51,
51,
51,
51,
51,
51,
51,
51
]
},
{
"id": "market-door-1",
"name": "Bakery entrance",
"waypoints": [
[
-207,
205
],
[
-211,
202
],
[
-218,
197
]
],
"points": [
[
-207,
205
],
[
-208,
204
],
[
-209,
204
],
[
-209,
203
],
[
-210,
203
],
[
-211,
202
],
[
-212,
201
],
[
-213,
201
],
[
-213,
200
],
[
-214,
200
],
[
-215,
199
],
[
-216,
199
],
[
-216,
198
],
[
-217,
198
],
[
-218,
197
]
],
"width": 3,
"role": "secondary",
"design_intent": "Public square boundary to the shop doorway; a reservation, not a complete street.",
"analysis": {
"ground_min": 69.1,
"ground_max": 72.4,
"water_samples": 0,
"length": 16.1
}
},
{
"id": "market-door-2",
"name": "Crafts hall entrance",
"waypoints": [
[
-182,
204
],
[
-178,
204
]
],
"points": [
[
-182,
204
],
[
-181,
204
],
[
-180,
204
],
[
-179,
204
],
[
-178,
204
]
],
"width": 3,
"role": "secondary",
"design_intent": "Public square boundary to the shop doorway; a reservation, not a complete street.",
"analysis": {
"ground_min": 66.1,
"ground_max": 66.8,
"water_samples": 0,
"length": 4.0
}
},
{
"id": "market-door-3",
"name": "Tea house entrance",
"waypoints": [
[
-173,
230
],
[
-170,
230
]
],
"points": [
[
-173,
230
],
[
-172,
230
],
[
-171,
230
],
[
-170,
230
]
],
"width": 3,
"role": "secondary",
"design_intent": "Public square boundary to the shop doorway; a reservation, not a complete street.",
"analysis": {
"ground_min": 63.8,
"ground_max": 64.0,
"water_samples": 0,
"length": 3.0
}
},
{
"id": "market-door-4",
"name": "Guild shop entrance",
"waypoints": [
[
-186,
248
],
[
-181,
256
],
[
-179,
263
]
],
"points": [
[
-186,
248
],
[
-186,
249
],
[
-185,
250
],
[
-184,
250
],
[
-184,
251
],
[
-184,
252
],
[
-183,
253
],
[
-182,
254
],
[
-182,
255
],
[
-181,
256
],
[
-181,
257
],
[
-180,
258
],
[
-180,
259
],
[
-180,
260
],
[
-180,
261
],
[
-179,
262
],
[
-179,
263
]
],
"width": 3,
"role": "secondary",
"design_intent": "Public square boundary to the shop doorway; a reservation, not a complete street.",
"analysis": {
"ground_min": 62.0,
"ground_max": 62.9,
"water_samples": 0,
"length": 18.5
}
},
{
"id": "market-door-5",
"name": "Workshop entrance",
"waypoints": [
[
-205,
247
],
[
-209,
255
],
[
-213,
264
]
],
"points": [
[
-205,
247
],
[
-205,
248
],
[
-206,
249
],
[
-206,
250
],
[
-207,
251
],
[
-208,
252
],
[
-208,
253
],
[
-209,
254
],
[
-209,
255
],
[
-209,
256
],
[
-210,
257
],
[
-210,
258
],
[
-211,
259
],
[
-211,
260
],
[
-212,
261
],
[
-212,
262
],
[
-213,
263
],
[
-213,
264
]
],
"width": 3,
"role": "secondary",
"design_intent": "Public square boundary to the shop doorway; a reservation, not a complete street.",
"analysis": {
"ground_min": 61.2,
"ground_max": 62.3,
"water_samples": 0,
"length": 20.3
}
},
{
"id": "market-door-6",
"name": "Guild hall entrance",
"waypoints": [
[
-214,
237
],
[
-218,
238
],
[
-222,
238
]
],
"points": [
[
-214,
237
],
[
-215,
237
],
[
-216,
237
],
[
-216,
238
],
[
-217,
238
],
[
-218,
238
],
[
-219,
238
],
[
-220,
238
],
[
-221,
238
],
[
-222,
238
]
],
"width": 3,
"role": "secondary",
"design_intent": "Public square boundary to the shop doorway; a reservation, not a complete street.",
"analysis": {
"ground_min": 63.4,
"ground_max": 64.6,
"water_samples": 0,
"length": 9.0
}
},
{
"id": "palm-garden-main-arc",
"name": "Palm courtyard main promenade",
"waypoints": [
[
185,
-9
],
[
185,
-6
],
[
187,
-6
],
[
188,
-6
],
[
190,
-6
],
[
191,
-5
],
[
192,
-5
],
[
194,
-5
],
[
195,
-4
],
[
197,
-4
],
[
198,
-3
],
[
199,
-2
],
[
201,
-1
],
[
202,
-1
],
[
203,
0
],
[
204,
1
],
[
205,
2
],
[
206,
3
],
[
207,
5
],
[
208,
6
],
[
209,
7
],
[
210,
8
],
[
211,
10
],
[
211,
11
],
[
212,
12
],
[
213,
14
],
[
213,
15
],
[
213,
17
],
[
214,
18
],
[
214,
20
],
[
214,
21
],
[
214,
23
],
[
214,
24
],
[
214,
26
],
[
214,
27
],
[
213,
29
],
[
213,
30
],
[
213,
32
],
[
212,
33
],
[
212,
34
],
[
211,
36
],
[
210,
37
],
[
210,
38
],
[
209,
40
],
[
208,
41
],
[
207,
42
],
[
206,
43
],
[
205,
44
],
[
204,
45
],
[
202,
46
],
[
201,
47
],
[
201,
46
]
],
"points": [
[
185,
-9
],
[
185,
-8
],
[
185,
-7
],
[
185,
-6
],
[
186,
-6
],
[
187,
-6
],
[
188,
-6
],
[
189,
-6
],
[
190,
-6
],
[
191,
-5
],
[
192,
-5
],
[
193,
-5
],
[
194,
-5
],
[
194,
-4
],
[
195,
-4
],
[
196,
-4
],
[
197,
-4
],
[
198,
-4
],
[
198,
-3
],
[
198,
-2
],
[
199,
-2
],
[
200,
-2
],
[
200,
-1
],
[
201,
-1
],
[
202,
-1
],
[
202,
0
],
[
203,
0
],
[
204,
0
],
[
204,
1
],
[
204,
2
],
[
205,
2
],
[
206,
2
],
[
206,
3
],
[
206,
4
],
[
207,
4
],
[
207,
5
],
[
208,
6
],
[
209,
7
],
[
210,
8
],
[
210,
9
],
[
211,
9
],
[
211,
10
],
[
211,
11
],
[
212,
12
],
[
212,
13
],
[
213,
13
],
[
213,
14
],
[
213,
15
],
[
213,
16
],
[
213,
17
],
[
214,
18
],
[
214,
19
],
[
214,
20
],
[
214,
21
],
[
214,
22
],
[
214,
23
],
[
214,
24
],
[
214,
25
],
[
214,
26
],
[
214,
27
],
[
214,
28
],
[
213,
28
],
[
213,
29
],
[
213,
30
],
[
213,
31
],
[
213,
32
],
[
212,
32
],
[
212,
33
],
[
212,
34
],
[
212,
35
],
[
211,
35
],
[
211,
36
],
[
210,
36
],
[
210,
37
],
[
210,
38
],
[
210,
39
],
[
209,
39
],
[
209,
40
],
[
208,
40
],
[
208,
41
],
[
208,
42
],
[
207,
42
],
[
206,
42
],
[
206,
43
],
[
206,
44
],
[
205,
44
],
[
204,
44
],
[
204,
45
],
[
203,
45
],
[
203,
46
],
[
202,
46
],
[
201,
47
],
[
201,
46
]
],
"width": 3,
"role": "secondary",
"design_intent": "Connect harbor and southern garden promenade around the outside of the glasshouse.",
"analysis": {
"ground_min": 78.1,
"ground_max": 85.1,
"water_samples": 0,
"length": 94.9
}
},
{
"id": "palm-garden-west-arc",
"name": "Palm courtyard west approach",
"waypoints": [
[
160,
23
],
[
156,
23
],
[
156,
22
],
[
156,
21
],
[
156,
20
],
[
156,
19
],
[
156,
18
],
[
157,
17
],
[
157,
17
],
[
157,
16
],
[
157,
15
],
[
157,
14
],
[
158,
13
],
[
158,
12
],
[
158,
11
],
[
159,
10
],
[
159,
10
],
[
160,
9
],
[
160,
8
],
[
161,
7
],
[
161,
6
],
[
162,
6
],
[
162,
5
],
[
163,
4
],
[
164,
4
],
[
164,
3
],
[
165,
2
],
[
166,
2
],
[
166,
1
],
[
167,
0
],
[
168,
0
],
[
168,
-1
],
[
169,
-1
],
[
170,
-2
],
[
171,
-2
],
[
172,
-3
],
[
172,
-3
],
[
173,
-4
],
[
174,
-4
],
[
175,
-4
],
[
176,
-5
],
[
177,
-5
],
[
178,
-5
],
[
179,
-5
],
[
179,
-5
],
[
180,
-6
],
[
181,
-6
],
[
182,
-6
],
[
183,
-6
],
[
184,
-6
],
[
185,
-6
],
[
185,
-9
]
],
"points": [
[
160,
23
],
[
159,
23
],
[
158,
23
],
[
157,
23
],
[
156,
23
],
[
156,
22
],
[
156,
21
],
[
156,
20
],
[
156,
19
],
[
156,
18
],
[
157,
17
],
[
157,
16
],
[
157,
15
],
[
157,
14
],
[
158,
14
],
[
158,
13
],
[
158,
12
],
[
158,
11
],
[
158,
10
],
[
159,
10
],
[
160,
10
],
[
160,
9
],
[
160,
8
],
[
161,
7
],
[
161,
6
],
[
162,
6
],
[
162,
5
],
[
162,
4
],
[
163,
4
],
[
164,
4
],
[
164,
3
],
[
164,
2
],
[
165,
2
],
[
166,
2
],
[
166,
1
],
[
166,
0
],
[
167,
0
],
[
168,
0
],
[
168,
-1
],
[
169,
-1
],
[
170,
-2
],
[
171,
-2
],
[
172,
-2
],
[
172,
-3
],
[
172,
-4
],
[
173,
-4
],
[
174,
-4
],
[
175,
-4
],
[
176,
-4
],
[
176,
-5
],
[
177,
-5
],
[
178,
-5
],
[
179,
-5
],
[
180,
-6
],
[
181,
-6
],
[
182,
-6
],
[
183,
-6
],
[
184,
-6
],
[
185,
-6
],
[
185,
-7
],
[
185,
-8
],
[
185,
-9
]
],
"width": 3,
"role": "secondary",
"design_intent": "Connect the spawn bridge to the main garden promenade without passing through the glasshouse.",
"analysis": {
"ground_min": 79.9,
"ground_max": 85.7,
"water_samples": 0,
"length": 62.7
}
},
{
"id": "winter-garden-north-arc",
"name": "Winter garden north promenade",
"waypoints": [
[
180,
94
],
[
185,
94
],
[
185,
93
],
[
185,
91
],
[
185,
90
],
[
186,
88
],
[
186,
87
],
[
187,
86
],
[
188,
84
],
[
188,
83
],
[
189,
82
],
[
190,
81
],
[
191,
80
],
[
192,
79
],
[
194,
78
],
[
195,
77
],
[
196,
76
],
[
198,
75
],
[
199,
74
],
[
200,
74
],
[
202,
73
],
[
204,
73
],
[
205,
73
],
[
207,
72
],
[
209,
72
],
[
210,
72
],
[
212,
72
],
[
213,
72
],
[
215,
72
],
[
217,
73
],
[
218,
73
],
[
220,
73
],
[
222,
74
],
[
223,
74
],
[
224,
75
],
[
226,
76
],
[
227,
77
],
[
228,
78
],
[
230,
79
],
[
231,
80
],
[
232,
81
],
[
233,
82
],
[
234,
83
],
[
234,
84
],
[
235,
86
],
[
236,
87
],
[
236,
88
],
[
237,
90
],
[
237,
91
],
[
237,
93
],
[
237,
94
],
[
238,
97
]
],
"points": [
[
180,
94
],
[
181,
94
],
[
182,
94
],
[
183,
94
],
[
184,
94
],
[
185,
94
],
[
185,
93
],
[
185,
92
],
[
185,
91
],
[
185,
90
],
[
185,
89
],
[
186,
89
],
[
186,
88
],
[
186,
87
],
[
186,
86
],
[
187,
86
],
[
187,
85
],
[
188,
85
],
[
188,
84
],
[
188,
83
],
[
188,
82
],
[
189,
82
],
[
190,
82
],
[
190,
81
],
[
190,
80
],
[
191,
80
],
[
192,
80
],
[
192,
79
],
[
193,
79
],
[
193,
78
],
[
194,
78
],
[
195,
77
],
[
196,
76
],
[
197,
76
],
[
197,
75
],
[
198,
75
],
[
198,
74
],
[
199,
74
],
[
200,
74
],
[
201,
74
],
[
201,
73
],
[
202,
73
],
[
203,
73
],
[
204,
73
],
[
205,
73
],
[
206,
73
],
[
206,
72
],
[
207,
72
],
[
208,
72
],
[
209,
72
],
[
210,
72
],
[
211,
72
],
[
212,
72
],
[
213,
72
],
[
214,
72
],
[
215,
72
],
[
216,
72
],
[
216,
73
],
[
217,
73
],
[
218,
73
],
[
219,
73
],
[
220,
73
],
[
221,
73
],
[
221,
74
],
[
222,
74
],
[
223,
74
],
[
224,
74
],
[
224,
75
],
[
225,
75
],
[
225,
76
],
[
226,
76
],
[
227,
77
],
[
228,
78
],
[
229,
78
],
[
229,
79
],
[
230,
79
],
[
230,
80
],
[
231,
80
],
[
232,
80
],
[
232,
81
],
[
232,
82
],
[
233,
82
],
[
234,
82
],
[
234,
83
],
[
234,
84
],
[
234,
85
],
[
235,
85
],
[
235,
86
],
[
236,
86
],
[
236,
87
],
[
236,
88
],
[
236,
89
],
[
237,
89
],
[
237,
90
],
[
237,
91
],
[
237,
92
],
[
237,
93
],
[
237,
94
],
[
237,
95
],
[
238,
96
],
[
238,
97
]
],
"width": 3,
"role": "secondary",
"design_intent": "A court path links the district promenade to the scenic lookout on the east side.",
"analysis": {
"ground_min": 82.3,
"ground_max": 89.0,
"water_samples": 0,
"length": 102.1
}
},
{
"id": "observatory-west-arc",
"name": "Observatory courtyard connection",
"waypoints": [
[
218,
137
],
[
220,
139
],
[
219,
139
],
[
219,
139
],
[
219,
139
],
[
218,
140
],
[
218,
140
],
[
218,
140
],
[
218,
141
],
[
217,
141
],
[
217,
142
],
[
217,
142
],
[
217,
142
],
[
216,
143
],
[
216,
143
],
[
216,
143
],
[
216,
144
],
[
216,
144
],
[
216,
145
],
[
215,
145
],
[
215,
145
],
[
215,
146
],
[
215,
146
],
[
215,
147
],
[
215,
147
],
[
215,
147
],
[
214,
148
],
[
214,
148
],
[
214,
149
],
[
214,
149
],
[
214,
149
],
[
214,
150
],
[
214,
150
],
[
214,
151
],
[
214,
151
],
[
214,
152
],
[
214,
152
],
[
214,
152
],
[
214,
153
],
[
214,
153
],
[
214,
154
],
[
214,
154
],
[
214,
155
],
[
214,
155
],
[
214,
155
],
[
214,
156
],
[
214,
156
],
[
215,
157
],
[
215,
157
],
[
215,
157
],
[
215,
158
],
[
218,
157
]
],
"points": [
[
218,
137
],
[
219,
138
],
[
220,
139
],
[
219,
139
],
[
218,
140
],
[
218,
141
],
[
217,
141
],
[
217,
142
],
[
216,
142
],
[
216,
143
],
[
216,
144
],
[
216,
145
],
[
215,
145
],
[
215,
146
],
[
215,
147
],
[
214,
148
],
[
214,
149
],
[
214,
150
],
[
214,
151
],
[
214,
152
],
[
214,
153
],
[
214,
154
],
[
214,
155
],
[
214,
156
],
[
215,
157
],
[
215,
158
],
[
216,
158
],
[
217,
157
],
[
218,
157
]
],
"width": 3,
"role": "secondary",
"design_intent": "Close the small gap between northern and southern promenade approaches outside the observatory.",
"analysis": {
"ground_min": 82.6,
"ground_max": 86.1,
"water_samples": 0,
"length": 30.5
}
}
],
"notes": [
"Do not apply blindly over the in-flight base marker manifest: reconcile desired blocks against live/scheduled markers.",
"For stairs, minimum_marker_y=51 keeps water cells untouched; land segments follow the actual surface.",
"White path outlines across colored courtyard boundaries indicate entrances, not holes in completed walls.",
"Garden arcs lie in the reserved walk bands outside their glasshouse footprints."
]
}