- Add My Levels tab to website level selection for viewing private levels - Add profile page for generating/managing editor plugin tokens - Create user_tokens table and RPC functions for token-based auth - Fix cloudLevelService to use maybeSingle() for admin and level queries - Fix getLevelById to try authenticated client first for private levels - Add rotation support to asteroids, base, sun, and planets - Remove deprecated difficultyConfig from level files - Add editor script components for BabylonJS Editor integration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
434 lines
9.0 KiB
JSON
434 lines
9.0 KiB
JSON
{
|
|
"version": "1.0",
|
|
"difficulty": "captain",
|
|
"timestamp": "2025-11-11T23:44:24.810Z",
|
|
"metadata": {
|
|
"author": "System",
|
|
"description": "Patrol a dangerous sector with heavy asteroid activity. Watch your fuel!",
|
|
"estimatedTime": "8-12 minutes",
|
|
"type": "default"
|
|
},
|
|
"ship": {
|
|
"position": [
|
|
0,
|
|
1,
|
|
0
|
|
],
|
|
"rotation": [
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"linearVelocity": [
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"angularVelocity": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
"startBase": {
|
|
"position": [
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"baseGlbPath": "base.glb"
|
|
},
|
|
"sun": {
|
|
"position": [
|
|
0,
|
|
0,
|
|
400
|
|
],
|
|
"diameter": 50,
|
|
"intensity": 1000000
|
|
},
|
|
"planets": [],
|
|
"asteroids": [
|
|
{
|
|
"id": "asteroid-0",
|
|
"position": [
|
|
166.3103777512652,
|
|
225.37995981448225,
|
|
-23.260546252581893
|
|
],
|
|
"scale": 15.57675246095847,
|
|
"linearVelocity": [
|
|
-15.247760404104447,
|
|
-20.571728072500164,
|
|
2.1325863179651163
|
|
],
|
|
"angularVelocity": [
|
|
0.3175968011295134,
|
|
0.41914092045057316,
|
|
0.3490716681663488
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-1",
|
|
"position": [
|
|
-249.03794410207183,
|
|
-44.17921063467387,
|
|
62.65614175181777
|
|
],
|
|
"scale": 17.559290714405755,
|
|
"linearVelocity": [
|
|
28.21843468423197,
|
|
5.1192464223731795,
|
|
-7.099553644182771
|
|
],
|
|
"angularVelocity": [
|
|
-0.7119913444012966,
|
|
0.7778624030643284,
|
|
0.692030459502786
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-2",
|
|
"position": [
|
|
-75.13363399135183,
|
|
316.85667650092637,
|
|
-310.96487929135486
|
|
],
|
|
"scale": 31.622342902375273,
|
|
"linearVelocity": [
|
|
4.725067636041931,
|
|
-19.86386230079167,
|
|
19.556222812999994
|
|
],
|
|
"angularVelocity": [
|
|
0.5519570317343065,
|
|
0.6149078850079825,
|
|
-0.891202682633375
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-3",
|
|
"position": [
|
|
37.69090411493977,
|
|
258.7939790070069,
|
|
-296.8568452906189
|
|
],
|
|
"scale": 26.5394417569339,
|
|
"linearVelocity": [
|
|
-2.5867033769995693,
|
|
-17.692240919295507,
|
|
20.373101209167153
|
|
],
|
|
"angularVelocity": [
|
|
-0.7785494324348137,
|
|
-0.20192027466159823,
|
|
-0.9607478385112791
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-4",
|
|
"position": [
|
|
-221.43907625779156,
|
|
174.13268502069522,
|
|
-28.083248212763042
|
|
],
|
|
"scale": 25.9507959425748,
|
|
"linearVelocity": [
|
|
24.966800076249847,
|
|
-19.5203538897708,
|
|
3.166328434298123
|
|
],
|
|
"angularVelocity": [
|
|
0.12619252306439144,
|
|
-0.3248913262817572,
|
|
0.81227377216443
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-5",
|
|
"position": [
|
|
-259.9477876700893,
|
|
-254.62227443891425,
|
|
11.496494773295924
|
|
],
|
|
"scale": 22.751714697755023,
|
|
"linearVelocity": [
|
|
12.927816475558101,
|
|
12.712698502381889,
|
|
-0.5717477954842545
|
|
],
|
|
"angularVelocity": [
|
|
-0.35481099529697646,
|
|
-0.6316024099485169,
|
|
-0.8870507592544725
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-6",
|
|
"position": [
|
|
161.9658398928775,
|
|
-27.636039784069954,
|
|
264.68815118855474
|
|
],
|
|
"scale": 31.487052543025985,
|
|
"linearVelocity": [
|
|
-14.659086384593829,
|
|
2.5917698521181003,
|
|
-23.956202590729646
|
|
],
|
|
"angularVelocity": [
|
|
0.3478963338932801,
|
|
0.02204602907153763,
|
|
0.10920873627447891
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-7",
|
|
"position": [
|
|
-284.20649039890117,
|
|
-272.4658003612411,
|
|
-164.57014594288472
|
|
],
|
|
"scale": 38.73582873730346,
|
|
"linearVelocity": [
|
|
22.435184300258108,
|
|
21.58731710282488,
|
|
12.99112328281743
|
|
],
|
|
"angularVelocity": [
|
|
0.06533995393293157,
|
|
-0.8892051337798605,
|
|
-0.3186200100290164
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-8",
|
|
"position": [
|
|
-161.48900437690028,
|
|
-244.51884642800135,
|
|
-63.50169475507713
|
|
],
|
|
"scale": 9.793580529897,
|
|
"linearVelocity": [
|
|
19.05949281156754,
|
|
28.97698643108488,
|
|
7.494690424135613
|
|
],
|
|
"angularVelocity": [
|
|
0.026878678094339747,
|
|
0.6390878354060479,
|
|
-0.4576976077246311
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-9",
|
|
"position": [
|
|
-179.37511378444728,
|
|
275.18039672598127,
|
|
127.15174115989014
|
|
],
|
|
"scale": 12.201546220635752,
|
|
"linearVelocity": [
|
|
11.535052657633953,
|
|
-17.631683945442504,
|
|
-8.17673086775957
|
|
],
|
|
"angularVelocity": [
|
|
-0.9276174339399885,
|
|
-0.7940475172876842,
|
|
-0.519891218823211
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-10",
|
|
"position": [
|
|
-161.85346730070253,
|
|
-351.9583610917342,
|
|
-211.00495094996367
|
|
],
|
|
"scale": 28.520265023931636,
|
|
"linearVelocity": [
|
|
10.316203045109077,
|
|
22.496831116545703,
|
|
13.449016285075643
|
|
],
|
|
"angularVelocity": [
|
|
-0.12498943826987396,
|
|
0.19710933568597477,
|
|
0.6942780482525945
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-11",
|
|
"position": [
|
|
238.15124667512623,
|
|
-336.0404556200413,
|
|
-137.62425812333427
|
|
],
|
|
"scale": 36.57155193341867,
|
|
"linearVelocity": [
|
|
-13.074585061842177,
|
|
18.503636524303484,
|
|
7.555618937662253
|
|
],
|
|
"angularVelocity": [
|
|
0.8666046519504111,
|
|
0.17700461662165567,
|
|
0.7935034314479288
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-12",
|
|
"position": [
|
|
196.63832555316407,
|
|
-52.5552884713219,
|
|
360.704951820807
|
|
],
|
|
"scale": 37.89225310776497,
|
|
"linearVelocity": [
|
|
-14.659857963374991,
|
|
3.9926749781282407,
|
|
-26.89141776153598
|
|
],
|
|
"angularVelocity": [
|
|
-0.9987270161689143,
|
|
-0.1748693297130952,
|
|
0.8516444011722366
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-13",
|
|
"position": [
|
|
-83.92561949303223,
|
|
-253.3043114432265,
|
|
-1.616443680779213
|
|
],
|
|
"scale": 32.821087460334866,
|
|
"linearVelocity": [
|
|
10.323698427408104,
|
|
31.281997511469118,
|
|
0.19883889074705718
|
|
],
|
|
"angularVelocity": [
|
|
0.632854416028195,
|
|
0.029291754806906045,
|
|
0.40775129810052313
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-14",
|
|
"position": [
|
|
84.70991492450895,
|
|
-283.3171370603572,
|
|
-5.226290049567284
|
|
],
|
|
"scale": 24.384062404096834,
|
|
"linearVelocity": [
|
|
-9.840583709194428,
|
|
33.02856093875565,
|
|
0.6071278051350835
|
|
],
|
|
"angularVelocity": [
|
|
0.9698449632732298,
|
|
0.15375578935014778,
|
|
-0.3922269025131073
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-15",
|
|
"position": [
|
|
-260.77067504513934,
|
|
201.3472149603708,
|
|
140.6455294494111
|
|
],
|
|
"scale": 7.723773988992447,
|
|
"linearVelocity": [
|
|
20.882499051701014,
|
|
-16.0437922158873,
|
|
-11.262885041981486
|
|
],
|
|
"angularVelocity": [
|
|
0.3799403198861504,
|
|
-0.4285539548267927,
|
|
0.4547601376586794
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-16",
|
|
"position": [
|
|
88.29502639093482,
|
|
39.73694881770429,
|
|
-429.03785854398495
|
|
],
|
|
"scale": 9.258837908114785,
|
|
"linearVelocity": [
|
|
-4.590007145936655,
|
|
-2.0137359843781644,
|
|
22.303485452000903
|
|
],
|
|
"angularVelocity": [
|
|
-0.6590987578049781,
|
|
0.866939902569952,
|
|
-0.3034435245285141
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-17",
|
|
"position": [
|
|
211.63076567269354,
|
|
-86.40698323508542,
|
|
-182.38745904183477
|
|
],
|
|
"scale": 10.822556168662619,
|
|
"linearVelocity": [
|
|
-15.182311988861233,
|
|
6.270544290959188,
|
|
13.084408106860023
|
|
],
|
|
"angularVelocity": [
|
|
-0.916175355667403,
|
|
0.16026156077498221,
|
|
0.7296019227737922
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-18",
|
|
"position": [
|
|
109.29137029559803,
|
|
-225.1245616977874,
|
|
37.07836905330716
|
|
],
|
|
"scale": 6.601394757786682,
|
|
"linearVelocity": [
|
|
-9.672107524407286,
|
|
20.01165388205001,
|
|
-3.2813750193018394
|
|
],
|
|
"angularVelocity": [
|
|
-0.6708090024867568,
|
|
-0.17052400155852965,
|
|
-0.7102991593042125
|
|
]
|
|
},
|
|
{
|
|
"id": "asteroid-19",
|
|
"position": [
|
|
102.93248991332028,
|
|
101.20067906285311,
|
|
-277.6954524087843
|
|
],
|
|
"scale": 5.224189195445002,
|
|
"linearVelocity": [
|
|
-7.252212644577497,
|
|
-7.059740149167784,
|
|
19.565313857622314
|
|
],
|
|
"angularVelocity": [
|
|
-0.43523205758445815,
|
|
-0.7478682237907837,
|
|
-0.6354712781926715
|
|
]
|
|
}
|
|
]
|
|
}
|