space-game/public/levels/deep-space-patrol.json
Michael Mainguy fe88c2bf47 Add My Levels tab, profile page, and token auth system
- 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>
2025-12-09 07:06:40 -06:00

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
]
}
]
}