9 junction events across 6 levels, auto-generated from real OSM intersections (tools/osm_junction.py): each crossing street's ways become lane-offset convoy streams, deterministic speeds/intervals/models -- learnable puzzles, not dice. Menu lists CRASH JCT entries; crash -> 9s settle with camera-relative aftertouch on the wreck and a one-shot crashbreaker shockwave (blast() on traffic, radial impulse on debris, orange boom). Damage tally vs bronze/silver/gold targets. Fixed zero-normal UV projection that striped roads. Smoke test drives a full junction run to tally (k, gold). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
346 lines
5.2 KiB
JSON
346 lines
5.2 KiB
JSON
[
|
|
{
|
|
"name": "Melbourne x Merivale",
|
|
"spawn": {
|
|
"x": -590.6178507503562,
|
|
"z": -217.37742659981197,
|
|
"dx": 0.8530074497663933,
|
|
"dz": -0.5218987360044418
|
|
},
|
|
"streams": [
|
|
{
|
|
"pts": [
|
|
[
|
|
-592.80332396911,
|
|
-218.96289397888663
|
|
],
|
|
[
|
|
-586.6662380952372,
|
|
-227.08658029182723
|
|
],
|
|
[
|
|
-522.2006803362468,
|
|
-263.3161280710875
|
|
],
|
|
[
|
|
-513.2984743659174,
|
|
-268.5646201058227
|
|
],
|
|
[
|
|
-505.76645618454586,
|
|
-272.8477143314658
|
|
],
|
|
[
|
|
-497.90899041561073,
|
|
-277.2629244179048
|
|
]
|
|
],
|
|
"speed": 12.0,
|
|
"interval": 2.2
|
|
},
|
|
{
|
|
"pts": [
|
|
[
|
|
-495.26368453007734,
|
|
-272.55523318206934
|
|
],
|
|
[
|
|
-503.1094123444767,
|
|
-268.14663806831595
|
|
],
|
|
[
|
|
-510.58925218160783,
|
|
-263.8934194939837
|
|
],
|
|
[
|
|
-519.5432562746829,
|
|
-258.6152667290545
|
|
],
|
|
[
|
|
-583.8043810107387,
|
|
-222.50730370835848
|
|
],
|
|
[
|
|
-588.4323775316024,
|
|
-215.7919592207373
|
|
]
|
|
],
|
|
"speed": 11.0,
|
|
"interval": 2.6
|
|
},
|
|
{
|
|
"pts": [
|
|
[
|
|
-497.7097209821479,
|
|
-277.3642792991366
|
|
],
|
|
[
|
|
-489.2653413897242,
|
|
-281.21700470668776
|
|
],
|
|
[
|
|
-470.16395422466655,
|
|
-292.9741741951012
|
|
],
|
|
[
|
|
-453.3973200149641,
|
|
-303.3696498434199
|
|
],
|
|
[
|
|
-438.7171383481014,
|
|
-313.0237718470059
|
|
],
|
|
[
|
|
-428.17568968279613,
|
|
-319.6952218182481
|
|
]
|
|
],
|
|
"speed": 12.0,
|
|
"interval": 2.2
|
|
},
|
|
{
|
|
"pts": [
|
|
[
|
|
-425.28794348242786,
|
|
-315.13222698127333
|
|
],
|
|
[
|
|
-435.78284848324455,
|
|
-308.49056735250105
|
|
],
|
|
[
|
|
-450.4943046193153,
|
|
-298.8163541564887
|
|
],
|
|
[
|
|
-467.3265789435252,
|
|
-288.3796882049204
|
|
],
|
|
[
|
|
-486.6041919466704,
|
|
-276.5182512930966
|
|
],
|
|
[
|
|
-495.46295396354014,
|
|
-272.4538783008375
|
|
]
|
|
],
|
|
"speed": 11.0,
|
|
"interval": 2.6
|
|
},
|
|
{
|
|
"pts": [
|
|
[
|
|
-511.28940466251,
|
|
-256.3197151971008
|
|
],
|
|
[
|
|
-539.5118789529853,
|
|
-239.934377879393
|
|
],
|
|
[
|
|
-576.453313765919,
|
|
-219.8022382435751
|
|
],
|
|
[
|
|
-581.3296752702165,
|
|
-217.31316962414144
|
|
],
|
|
[
|
|
-589.8527843522658,
|
|
-214.78808818884423
|
|
]
|
|
],
|
|
"speed": 12.0,
|
|
"interval": 2.2
|
|
},
|
|
{
|
|
"pts": [
|
|
[
|
|
-591.3829171484466,
|
|
-219.9667650107797
|
|
],
|
|
[
|
|
-583.2152104060733,
|
|
-222.37328397575936
|
|
],
|
|
[
|
|
-579.0251997651409,
|
|
-224.55043815585836
|
|
],
|
|
[
|
|
-542.1517485157323,
|
|
-244.64511972030104
|
|
],
|
|
[
|
|
-514.0007454638794,
|
|
-260.98968640245414
|
|
]
|
|
],
|
|
"speed": 11.0,
|
|
"interval": 2.6
|
|
}
|
|
],
|
|
"targets": [
|
|
15000,
|
|
35000,
|
|
60000
|
|
]
|
|
},
|
|
{
|
|
"name": "Grey x Glenelg",
|
|
"spawn": {
|
|
"x": -132.09447432867904,
|
|
"z": -92.67206939992113,
|
|
"dx": 0.5885516813877528,
|
|
"dz": 0.8084595959821672
|
|
},
|
|
"streams": [
|
|
{
|
|
"pts": [
|
|
[
|
|
-66.8941396578206,
|
|
18.021454924938546
|
|
],
|
|
[
|
|
-68.93721227192415,
|
|
14.729250272207434
|
|
],
|
|
[
|
|
-74.03417645108553,
|
|
5.788135121643277
|
|
],
|
|
[
|
|
-78.66584427851572,
|
|
-1.692678191469608
|
|
],
|
|
[
|
|
-82.8231789453831,
|
|
-8.34834069992463
|
|
],
|
|
[
|
|
-134.38713557935665,
|
|
-91.24598932165014
|
|
]
|
|
],
|
|
"speed": 12.0,
|
|
"interval": 2.2
|
|
},
|
|
{
|
|
"pts": [
|
|
[
|
|
-129.80181307800143,
|
|
-94.09814947819211
|
|
],
|
|
[
|
|
-78.23825562104584,
|
|
-11.201142499900957
|
|
],
|
|
[
|
|
-74.07981104388904,
|
|
-4.543695408341438
|
|
],
|
|
[
|
|
-69.38832494823436,
|
|
3.0356700785490762
|
|
],
|
|
[
|
|
-64.27327518677029,
|
|
12.007542928328153
|
|
],
|
|
[
|
|
-62.30660151137585,
|
|
15.172859875635417
|
|
]
|
|
],
|
|
"speed": 11.0,
|
|
"interval": 2.6
|
|
},
|
|
{
|
|
"pts": [
|
|
[
|
|
-62.42866919418658,
|
|
-1.5633764655737972
|
|
],
|
|
[
|
|
-56.22534149367183,
|
|
7.176315693408943
|
|
],
|
|
[
|
|
-31.591830618167315,
|
|
46.425585467880346
|
|
],
|
|
[
|
|
5.553177653998906,
|
|
108.18727469018124
|
|
]
|
|
],
|
|
"speed": 12.0,
|
|
"interval": 2.2
|
|
},
|
|
{
|
|
"pts": [
|
|
[
|
|
0.9256242241840709,
|
|
110.9703933104001
|
|
],
|
|
[
|
|
-36.19855979655569,
|
|
49.24303933209625
|
|
],
|
|
[
|
|
-60.768388814750516,
|
|
10.095343106510734
|
|
],
|
|
[
|
|
-66.8313293113839,
|
|
1.5633764655737972
|
|
]
|
|
],
|
|
"speed": 11.0,
|
|
"interval": 2.6
|
|
},
|
|
{
|
|
"pts": [
|
|
[
|
|
-146.4043520315188,
|
|
-133.05664071966743
|
|
],
|
|
[
|
|
-108.51077823239306,
|
|
-74.87735033479748
|
|
],
|
|
[
|
|
-83.23180011197921,
|
|
-33.360028872910426
|
|
]
|
|
],
|
|
"speed": 12.0,
|
|
"interval": 2.2
|
|
},
|
|
{
|
|
"pts": [
|
|
[
|
|
-87.84412394798038,
|
|
-30.551743126791347
|
|
],
|
|
[
|
|
-113.07214707658274,
|
|
-71.98703646477304
|
|
],
|
|
[
|
|
-150.92919892918795,
|
|
-130.10947927979782
|
|
]
|
|
],
|
|
"speed": 11.0,
|
|
"interval": 2.6
|
|
}
|
|
],
|
|
"targets": [
|
|
15000,
|
|
35000,
|
|
60000
|
|
]
|
|
}
|
|
] |