@almadar/shell-web 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AvlGlyph-PIXU6QH5.js +5 -0
- package/dist/AvlStateMachine-CKGMECMG.js +8 -0
- package/dist/{AvlTransitionDetail-63SD6GZF.js → AvlTransitionDetail-QZX6G5KJ.js} +4 -5
- package/dist/AvlTransitionExplainer-26WLEIC6.js +11 -0
- package/dist/BehaviorView-JLZ4PKWY.js +10 -0
- package/dist/{FileTree-BCFnBEuQ.d.ts → FileTree-B3GDAjaQ.d.ts} +131 -4
- package/dist/{FlowCanvas-AUMTWMNG.js → FlowCanvas-RPII4V24.js} +10 -13
- package/dist/{FlowCanvas-3JRMNJLV.css → FlowCanvas-VWUPMBKB.css} +189 -191
- package/dist/{GameAudioProvider-ceM_n0ey.d.ts → GameAudioProvider-D7wo5ryN.d.ts} +1 -1
- package/dist/{KernelEngineContext-CcxGYtlr.d.ts → KernelEngineContext-CPeWQMAz.d.ts} +15 -2
- package/dist/ModuleCard-NJD6JQGD.js +6 -0
- package/dist/{OrbInspector-QCPEPUPH.js → OrbInspector-OWWKPOBF.js} +10 -13
- package/dist/{OrbInspector-MHLJ6OEE.css → OrbInspector-VMTMZHNQ.css} +189 -191
- package/dist/{Select-B-iDdnvE.d.ts → Select-C2Uq6t86.d.ts} +1 -1
- package/dist/{UISlotRenderer-KVFO6J7R.css → UISlotRenderer-BIS6KT7T.css} +189 -191
- package/dist/{UISlotRenderer-C7WWOK43.js → UISlotRenderer-PY7FIJXN.js} +10 -13
- package/dist/avl/index.css +189 -191
- package/dist/avl/index.d.ts +19 -7
- package/dist/avl/index.js +157 -26
- package/dist/{chunk-TUPZWTRE.js → chunk-2WGR4TDJ.js} +464 -35
- package/dist/{chunk-SP5CDJ6K.js → chunk-4YJ53G7S.js} +3 -3
- package/dist/{chunk-HH5KSMH5.js → chunk-7N6ZPHQ5.js} +1 -1
- package/dist/{chunk-CPLN6NBQ.js → chunk-AGVSO4WY.js} +2 -3
- package/dist/{chunk-UXLE3IPR.js → chunk-FAKU5F62.js} +205 -4
- package/dist/{chunk-TXAUOLWZ.js → chunk-M74BCDBQ.js} +1 -1
- package/dist/{chunk-LHP2TK7O.js → chunk-MS4K3K2R.js} +2908 -4574
- package/dist/{chunk-K4MOPSEL.js → chunk-OWNG4JZI.js} +3 -4
- package/dist/{chunk-AB3X7QTE.js → chunk-PRLHKBXG.js} +1 -2
- package/dist/{chunk-X3DMMX27.js → chunk-VHC2M26B.js} +1 -1
- package/dist/{chunk-E6KA4J6N.js → chunk-VUIACGDU.js} +3 -4
- package/dist/{chunk-ROICKAU7.js → chunk-YYIHRIDH.js} +1 -1
- package/dist/{chunk-3VZ36ZKO.js → chunk-ZDRDJKYB.js} +5 -2
- package/dist/components/index.css +189 -191
- package/dist/components/index.d.ts +417 -173
- package/dist/components/index.js +14 -17
- package/dist/core.d.ts +3 -3
- package/dist/{fx-CmQjnHmT.d.ts → fx-Br8zjvu9.d.ts} +6 -6
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -2
- package/dist/{kernel-client-TZKGHJRY.js → kernel-client-JW6OH5FX.js} +24 -3
- package/dist/{kernel-wire-wNdAPfhJ.d.ts → kernel-wire-DGAySGhX.d.ts} +7 -0
- package/dist/lib/index.d.ts +2 -3
- package/dist/lib/index.js +2 -3
- package/dist/providers/index.css +189 -191
- package/dist/providers/index.d.ts +6 -8
- package/dist/providers/index.js +10 -14
- package/dist/runtime/index.css +189 -191
- package/dist/runtime/index.d.ts +6 -1
- package/dist/runtime/index.js +10 -13
- package/dist/test-support.js +2 -2
- package/dist/{paintDispatch-CuJLsr9Y.d.ts → verificationRegistry-oopV1J1n.d.ts} +127 -15
- package/package.json +8 -36
- package/dist/AvlGlyph-EPJKFEO3.js +0 -6
- package/dist/AvlStateMachine-RKZIKNGC.js +0 -9
- package/dist/AvlTransitionExplainer-ZBTLOM3T.js +0 -12
- package/dist/BehaviorView-YS5G4GNB.js +0 -11
- package/dist/Canvas3DHost-BkZQB5l2.d.ts +0 -552
- package/dist/ModuleCard-QHDGK5XK.js +0 -7
- package/dist/avl-3d-context-BycmO6tG.d.ts +0 -201
- package/dist/avl-schema-parser-CtJxJ9KU.d.ts +0 -132
- package/dist/avl-zoom-state-CKMVuBFg.d.ts +0 -17
- package/dist/chunk-4T3P43NS.js +0 -1133
- package/dist/chunk-DZBQA2OW.js +0 -176
- package/dist/chunk-EOWMARUB.js +0 -16
- package/dist/chunk-GFXCPUMX.js +0 -1334
- package/dist/chunk-ILZ7ORX7.js +0 -432
- package/dist/three/index.css +0 -503
- package/dist/three/index.d.ts +0 -1185
- package/dist/three/index.js +0 -3908
- package/dist/verificationRegistry-CVrcxG1s.d.ts +0 -122
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { JsonTreeEditor } from './chunk-ILQXJ2AR.js';
|
|
2
2
|
import { transitionPlayback, Accordion } from './chunk-REXYVBUO.js';
|
|
3
3
|
import { EmptyState } from './chunk-AGXD77SL.js';
|
|
4
|
-
import { useContainerWidth, roundedEdgePath } from './chunk-
|
|
5
|
-
import { AvlExplain, AvlEffectChip } from './chunk-AB3X7QTE.js';
|
|
6
|
-
import { AvlEffect } from './chunk-DZBQA2OW.js';
|
|
4
|
+
import { useContainerWidth, roundedEdgePath } from './chunk-M74BCDBQ.js';
|
|
7
5
|
import { parseTraitLevel } from './chunk-PCR37T3U.js';
|
|
8
|
-
import {
|
|
6
|
+
import { AvlExplain, AvlEffectChip } from './chunk-PRLHKBXG.js';
|
|
7
|
+
import { AVL_INK, AVL_FONT, effectZoneOf, avlTint, AvlEffect, OPERATOR_CATEGORY_COLORS, avlBlend } from './chunk-FAKU5F62.js';
|
|
9
8
|
import { useTranslate, useMediaQuery, Box, Typography, Card, VStack, HStack, Badge, Button } from './chunk-4YXBKHHM.js';
|
|
10
9
|
import { useRef, useMemo, useState } from 'react';
|
|
11
10
|
import { formatSExpr, JsonValueSchema, isJsonObject, isBinding } from '@almadar/core';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { AvlEffect } from './chunk-
|
|
2
|
-
import { effectCategoryOf } from './chunk-UXLE3IPR.js';
|
|
1
|
+
import { effectCategoryOf, AvlEffect } from './chunk-FAKU5F62.js';
|
|
3
2
|
import { useThemeScope, Box, useTapReveal, Typography, cn, domPassthrough, usePresence, useDialogBehavior, SurfaceBoundary, VStack, useTranslate } from './chunk-4YXBKHHM.js';
|
|
4
3
|
import { createPortal } from 'react-dom';
|
|
5
4
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { AvlState, AvlEntity, AvlFieldType, AvlPage } from './chunk-
|
|
2
|
-
import { AvlExplain, useEffectLines } from './chunk-
|
|
3
|
-
import { AvlEffect } from './chunk-
|
|
4
|
-
import { getStateRole, CONNECTION_COLORS } from './chunk-UXLE3IPR.js';
|
|
1
|
+
import { AvlState, AvlEntity, AvlFieldType, AvlPage } from './chunk-7N6ZPHQ5.js';
|
|
2
|
+
import { AvlExplain, useEffectLines } from './chunk-PRLHKBXG.js';
|
|
3
|
+
import { getStateRole, AvlEffect, CONNECTION_COLORS } from './chunk-FAKU5F62.js';
|
|
5
4
|
import { useTranslate, Box, cn, domPassthrough } from './chunk-4YXBKHHM.js';
|
|
6
5
|
import { useNodeId, ReactFlowProvider, Handle, Position } from '@xyflow/react';
|
|
7
6
|
import React from 'react';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AvlStateMachine } from './chunk-
|
|
1
|
+
import { AvlStateMachine } from './chunk-4YJ53G7S.js';
|
|
2
2
|
import { EmptyState } from './chunk-AGXD77SL.js';
|
|
3
3
|
import { useTranslate, Box, domPassthrough } from './chunk-4YXBKHHM.js';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -231,7 +231,8 @@ async function openBrowserStoreTransport(options) {
|
|
|
231
231
|
persistence,
|
|
232
232
|
...options.callService !== void 0 ? { callService: options.callService } : {},
|
|
233
233
|
...options.secretPorts !== void 0 ? { secretPorts: options.secretPorts } : {},
|
|
234
|
-
...options.os !== void 0 ? { os: options.os } : {}
|
|
234
|
+
...options.os !== void 0 ? { os: options.os } : {},
|
|
235
|
+
...options.gpu !== void 0 ? { gpu: options.gpu } : {}
|
|
235
236
|
}),
|
|
236
237
|
...options.locale !== void 0 ? { locale: () => options.locale } : {}
|
|
237
238
|
});
|
|
@@ -287,7 +288,8 @@ async function openBrowserHost(options) {
|
|
|
287
288
|
...options.secretPorts !== void 0 ? { secretPorts: options.secretPorts } : {},
|
|
288
289
|
...options.onDevice !== void 0 ? { onDevice: options.onDevice } : {},
|
|
289
290
|
...options.tabs !== void 0 ? { tabs: options.tabs } : {},
|
|
290
|
-
...options.os !== void 0 ? { os: options.os } : {}
|
|
291
|
+
...options.os !== void 0 ? { os: options.os } : {},
|
|
292
|
+
...options.gpu !== void 0 ? { gpu: options.gpu } : {}
|
|
291
293
|
});
|
|
292
294
|
const local = (0, local_store_transport_exports.createLocalStoreTransport)({ kernelEngine });
|
|
293
295
|
transport = local;
|
|
@@ -295,6 +297,7 @@ async function openBrowserHost(options) {
|
|
|
295
297
|
const request = {
|
|
296
298
|
event: call.event,
|
|
297
299
|
...call.payload !== void 0 ? { payload: call.payload } : {},
|
|
300
|
+
...call.heldPayload !== void 0 ? { heldPayload: call.heldPayload } : {},
|
|
298
301
|
targetTrait: call.traitName,
|
|
299
302
|
...call.entityId !== void 0 ? { entityId: call.entityId } : {},
|
|
300
303
|
...call.originClientId !== void 0 ? { clientId: call.originClientId } : {},
|
|
@@ -1160,7 +1160,195 @@ body {
|
|
|
1160
1160
|
counter-reset: katexEqnNo mmlEqnNo;
|
|
1161
1161
|
}
|
|
1162
1162
|
|
|
1163
|
-
/* src/lib/drawable/
|
|
1163
|
+
/* src/lib/drawable/orbital/OrbitalCanvas3D.css */
|
|
1164
|
+
.game-canvas-3d {
|
|
1165
|
+
background: #1a1a2e;
|
|
1166
|
+
border-radius: 8px;
|
|
1167
|
+
}
|
|
1168
|
+
.game-canvas-3d canvas {
|
|
1169
|
+
display: block;
|
|
1170
|
+
width: 100%;
|
|
1171
|
+
height: 100%;
|
|
1172
|
+
}
|
|
1173
|
+
.game-canvas-3d--loading {
|
|
1174
|
+
display: flex;
|
|
1175
|
+
align-items: center;
|
|
1176
|
+
justify-content: center;
|
|
1177
|
+
background:
|
|
1178
|
+
linear-gradient(
|
|
1179
|
+
135deg,
|
|
1180
|
+
#1a1a2e 0%,
|
|
1181
|
+
#16213e 100%);
|
|
1182
|
+
}
|
|
1183
|
+
.game-canvas-3d__loading {
|
|
1184
|
+
padding: 20px 40px;
|
|
1185
|
+
background: rgba(255, 255, 255, 0.1);
|
|
1186
|
+
border-radius: 8px;
|
|
1187
|
+
color: #ffffff;
|
|
1188
|
+
font-size: 16px;
|
|
1189
|
+
animation: pulse 1.5s ease-in-out infinite;
|
|
1190
|
+
}
|
|
1191
|
+
.game-canvas-3d--error {
|
|
1192
|
+
display: flex;
|
|
1193
|
+
align-items: center;
|
|
1194
|
+
justify-content: center;
|
|
1195
|
+
background:
|
|
1196
|
+
linear-gradient(
|
|
1197
|
+
135deg,
|
|
1198
|
+
#2e1a1a 0%,
|
|
1199
|
+
#3e1616 100%);
|
|
1200
|
+
}
|
|
1201
|
+
.game-canvas-3d__error {
|
|
1202
|
+
position: relative;
|
|
1203
|
+
z-index: 1;
|
|
1204
|
+
padding: 20px 40px;
|
|
1205
|
+
background: rgba(255, 0, 0, 0.2);
|
|
1206
|
+
border: 1px solid rgba(255, 0, 0, 0.3);
|
|
1207
|
+
border-radius: 8px;
|
|
1208
|
+
color: #ff6b6b;
|
|
1209
|
+
font-size: 14px;
|
|
1210
|
+
}
|
|
1211
|
+
.game-canvas-3d__coordinates {
|
|
1212
|
+
position: absolute;
|
|
1213
|
+
bottom: 20px;
|
|
1214
|
+
left: 20px;
|
|
1215
|
+
padding: 8px 16px;
|
|
1216
|
+
background: rgba(0, 0, 0, 0.7);
|
|
1217
|
+
border-radius: 4px;
|
|
1218
|
+
color: #ffffff;
|
|
1219
|
+
font-family: monospace;
|
|
1220
|
+
font-size: 12px;
|
|
1221
|
+
pointer-events: none;
|
|
1222
|
+
z-index: 10;
|
|
1223
|
+
}
|
|
1224
|
+
.game-canvas-3d__tile-info {
|
|
1225
|
+
position: absolute;
|
|
1226
|
+
top: 20px;
|
|
1227
|
+
left: 20px;
|
|
1228
|
+
padding: 12px 16px;
|
|
1229
|
+
background: rgba(0, 0, 0, 0.8);
|
|
1230
|
+
border-radius: 6px;
|
|
1231
|
+
color: #ffffff;
|
|
1232
|
+
pointer-events: none;
|
|
1233
|
+
z-index: 10;
|
|
1234
|
+
min-width: 120px;
|
|
1235
|
+
}
|
|
1236
|
+
.tile-info__type {
|
|
1237
|
+
font-weight: 600;
|
|
1238
|
+
font-size: 14px;
|
|
1239
|
+
text-transform: capitalize;
|
|
1240
|
+
margin-bottom: 4px;
|
|
1241
|
+
}
|
|
1242
|
+
.tile-info__terrain {
|
|
1243
|
+
font-size: 12px;
|
|
1244
|
+
color: #aaaaaa;
|
|
1245
|
+
}
|
|
1246
|
+
@keyframes pulse {
|
|
1247
|
+
0%, 100% {
|
|
1248
|
+
opacity: 1;
|
|
1249
|
+
}
|
|
1250
|
+
50% {
|
|
1251
|
+
opacity: 0.5;
|
|
1252
|
+
}
|
|
1253
|
+
}
|
|
1254
|
+
.game-canvas-3d[data-camera-mode=isometric]::before {
|
|
1255
|
+
content: "Isometric";
|
|
1256
|
+
position: absolute;
|
|
1257
|
+
top: 20px;
|
|
1258
|
+
right: 20px;
|
|
1259
|
+
padding: 6px 12px;
|
|
1260
|
+
background: rgba(0, 0, 0, 0.6);
|
|
1261
|
+
border-radius: 4px;
|
|
1262
|
+
color: #ffffff;
|
|
1263
|
+
font-size: 11px;
|
|
1264
|
+
text-transform: uppercase;
|
|
1265
|
+
letter-spacing: 1px;
|
|
1266
|
+
pointer-events: none;
|
|
1267
|
+
}
|
|
1268
|
+
.game-canvas-3d[data-camera-mode=perspective]::before {
|
|
1269
|
+
content: "Perspective";
|
|
1270
|
+
position: absolute;
|
|
1271
|
+
top: 20px;
|
|
1272
|
+
right: 20px;
|
|
1273
|
+
padding: 6px 12px;
|
|
1274
|
+
background: rgba(0, 0, 0, 0.6);
|
|
1275
|
+
border-radius: 4px;
|
|
1276
|
+
color: #ffffff;
|
|
1277
|
+
font-size: 11px;
|
|
1278
|
+
text-transform: uppercase;
|
|
1279
|
+
letter-spacing: 1px;
|
|
1280
|
+
pointer-events: none;
|
|
1281
|
+
}
|
|
1282
|
+
.game-canvas-3d[data-camera-mode=top-down]::before {
|
|
1283
|
+
content: "Top Down";
|
|
1284
|
+
position: absolute;
|
|
1285
|
+
top: 20px;
|
|
1286
|
+
right: 20px;
|
|
1287
|
+
padding: 6px 12px;
|
|
1288
|
+
background: rgba(0, 0, 0, 0.6);
|
|
1289
|
+
border-radius: 4px;
|
|
1290
|
+
color: #ffffff;
|
|
1291
|
+
font-size: 11px;
|
|
1292
|
+
text-transform: uppercase;
|
|
1293
|
+
letter-spacing: 1px;
|
|
1294
|
+
pointer-events: none;
|
|
1295
|
+
}
|
|
1296
|
+
.game-canvas-3d[data-overlay=hidden] .game-canvas-3d__coordinates,
|
|
1297
|
+
.game-canvas-3d[data-overlay=hidden] .game-canvas-3d__tile-info,
|
|
1298
|
+
.game-canvas-3d[data-overlay=hidden]::before {
|
|
1299
|
+
display: none;
|
|
1300
|
+
}
|
|
1301
|
+
.game-canvas-3d[data-orientation=rotated] {
|
|
1302
|
+
}
|
|
1303
|
+
.game-canvas-3d canvas {
|
|
1304
|
+
cursor: crosshair;
|
|
1305
|
+
}
|
|
1306
|
+
.game-canvas-3d canvas:active {
|
|
1307
|
+
cursor: grabbing;
|
|
1308
|
+
}
|
|
1309
|
+
@media (max-width: 768px) {
|
|
1310
|
+
.game-canvas-3d__coordinates,
|
|
1311
|
+
.game-canvas-3d__tile-info {
|
|
1312
|
+
font-size: 10px;
|
|
1313
|
+
padding: 6px 10px;
|
|
1314
|
+
}
|
|
1315
|
+
.game-canvas-3d::before {
|
|
1316
|
+
font-size: 9px;
|
|
1317
|
+
padding: 4px 8px;
|
|
1318
|
+
}
|
|
1319
|
+
}
|
|
1320
|
+
.game-canvas-3d:focus {
|
|
1321
|
+
outline: 2px solid #4488ff;
|
|
1322
|
+
outline-offset: 2px;
|
|
1323
|
+
}
|
|
1324
|
+
.game-canvas-3d canvas {
|
|
1325
|
+
transition: opacity 0.3s ease;
|
|
1326
|
+
}
|
|
1327
|
+
.game-canvas-3d__context-menu {
|
|
1328
|
+
position: absolute;
|
|
1329
|
+
background: rgba(0, 0, 0, 0.9);
|
|
1330
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1331
|
+
border-radius: 6px;
|
|
1332
|
+
padding: 8px 0;
|
|
1333
|
+
min-width: 150px;
|
|
1334
|
+
z-index: 100;
|
|
1335
|
+
}
|
|
1336
|
+
.game-canvas-3d__context-menu-item {
|
|
1337
|
+
padding: 8px 16px;
|
|
1338
|
+
color: #ffffff;
|
|
1339
|
+
cursor: pointer;
|
|
1340
|
+
font-size: 13px;
|
|
1341
|
+
transition: background 0.15s ease;
|
|
1342
|
+
}
|
|
1343
|
+
.game-canvas-3d__context-menu-item:hover {
|
|
1344
|
+
background: rgba(255, 255, 255, 0.1);
|
|
1345
|
+
}
|
|
1346
|
+
.game-canvas-3d__context-menu-item--danger {
|
|
1347
|
+
color: #ff6b6b;
|
|
1348
|
+
}
|
|
1349
|
+
.game-canvas-3d__context-menu-item--danger:hover {
|
|
1350
|
+
background: rgba(255, 0, 0, 0.2);
|
|
1351
|
+
}
|
|
1164
1352
|
.canvas-3d-loading {
|
|
1165
1353
|
position: absolute;
|
|
1166
1354
|
inset: 0;
|
|
@@ -1312,8 +1500,6 @@ body {
|
|
|
1312
1500
|
font-size: 12px;
|
|
1313
1501
|
}
|
|
1314
1502
|
}
|
|
1315
|
-
|
|
1316
|
-
/* src/lib/drawable/three/Canvas3DErrorBoundary.css */
|
|
1317
1503
|
.canvas-3d-error {
|
|
1318
1504
|
position: absolute;
|
|
1319
1505
|
inset: 0;
|
|
@@ -1476,194 +1662,6 @@ body {
|
|
|
1476
1662
|
}
|
|
1477
1663
|
}
|
|
1478
1664
|
|
|
1479
|
-
/* src/lib/drawable/three/Canvas3DHost.css */
|
|
1480
|
-
.game-canvas-3d {
|
|
1481
|
-
background: #1a1a2e;
|
|
1482
|
-
border-radius: 8px;
|
|
1483
|
-
}
|
|
1484
|
-
.game-canvas-3d canvas {
|
|
1485
|
-
display: block;
|
|
1486
|
-
width: 100%;
|
|
1487
|
-
height: 100%;
|
|
1488
|
-
}
|
|
1489
|
-
.game-canvas-3d--loading {
|
|
1490
|
-
display: flex;
|
|
1491
|
-
align-items: center;
|
|
1492
|
-
justify-content: center;
|
|
1493
|
-
background:
|
|
1494
|
-
linear-gradient(
|
|
1495
|
-
135deg,
|
|
1496
|
-
#1a1a2e 0%,
|
|
1497
|
-
#16213e 100%);
|
|
1498
|
-
}
|
|
1499
|
-
.game-canvas-3d__loading {
|
|
1500
|
-
padding: 20px 40px;
|
|
1501
|
-
background: rgba(255, 255, 255, 0.1);
|
|
1502
|
-
border-radius: 8px;
|
|
1503
|
-
color: #ffffff;
|
|
1504
|
-
font-size: 16px;
|
|
1505
|
-
animation: pulse 1.5s ease-in-out infinite;
|
|
1506
|
-
}
|
|
1507
|
-
.game-canvas-3d--error {
|
|
1508
|
-
display: flex;
|
|
1509
|
-
align-items: center;
|
|
1510
|
-
justify-content: center;
|
|
1511
|
-
background:
|
|
1512
|
-
linear-gradient(
|
|
1513
|
-
135deg,
|
|
1514
|
-
#2e1a1a 0%,
|
|
1515
|
-
#3e1616 100%);
|
|
1516
|
-
}
|
|
1517
|
-
.game-canvas-3d__error {
|
|
1518
|
-
padding: 20px 40px;
|
|
1519
|
-
background: rgba(255, 0, 0, 0.2);
|
|
1520
|
-
border: 1px solid rgba(255, 0, 0, 0.3);
|
|
1521
|
-
border-radius: 8px;
|
|
1522
|
-
color: #ff6b6b;
|
|
1523
|
-
font-size: 14px;
|
|
1524
|
-
}
|
|
1525
|
-
.game-canvas-3d__coordinates {
|
|
1526
|
-
position: absolute;
|
|
1527
|
-
bottom: 20px;
|
|
1528
|
-
left: 20px;
|
|
1529
|
-
padding: 8px 16px;
|
|
1530
|
-
background: rgba(0, 0, 0, 0.7);
|
|
1531
|
-
border-radius: 4px;
|
|
1532
|
-
color: #ffffff;
|
|
1533
|
-
font-family: monospace;
|
|
1534
|
-
font-size: 12px;
|
|
1535
|
-
pointer-events: none;
|
|
1536
|
-
z-index: 10;
|
|
1537
|
-
}
|
|
1538
|
-
.game-canvas-3d__tile-info {
|
|
1539
|
-
position: absolute;
|
|
1540
|
-
top: 20px;
|
|
1541
|
-
left: 20px;
|
|
1542
|
-
padding: 12px 16px;
|
|
1543
|
-
background: rgba(0, 0, 0, 0.8);
|
|
1544
|
-
border-radius: 6px;
|
|
1545
|
-
color: #ffffff;
|
|
1546
|
-
pointer-events: none;
|
|
1547
|
-
z-index: 10;
|
|
1548
|
-
min-width: 120px;
|
|
1549
|
-
}
|
|
1550
|
-
.tile-info__type {
|
|
1551
|
-
font-weight: 600;
|
|
1552
|
-
font-size: 14px;
|
|
1553
|
-
text-transform: capitalize;
|
|
1554
|
-
margin-bottom: 4px;
|
|
1555
|
-
}
|
|
1556
|
-
.tile-info__terrain {
|
|
1557
|
-
font-size: 12px;
|
|
1558
|
-
color: #aaaaaa;
|
|
1559
|
-
}
|
|
1560
|
-
@keyframes pulse {
|
|
1561
|
-
0%, 100% {
|
|
1562
|
-
opacity: 1;
|
|
1563
|
-
}
|
|
1564
|
-
50% {
|
|
1565
|
-
opacity: 0.5;
|
|
1566
|
-
}
|
|
1567
|
-
}
|
|
1568
|
-
.game-canvas-3d[data-camera-mode=isometric]::before {
|
|
1569
|
-
content: "Isometric";
|
|
1570
|
-
position: absolute;
|
|
1571
|
-
top: 20px;
|
|
1572
|
-
right: 20px;
|
|
1573
|
-
padding: 6px 12px;
|
|
1574
|
-
background: rgba(0, 0, 0, 0.6);
|
|
1575
|
-
border-radius: 4px;
|
|
1576
|
-
color: #ffffff;
|
|
1577
|
-
font-size: 11px;
|
|
1578
|
-
text-transform: uppercase;
|
|
1579
|
-
letter-spacing: 1px;
|
|
1580
|
-
pointer-events: none;
|
|
1581
|
-
}
|
|
1582
|
-
.game-canvas-3d[data-camera-mode=perspective]::before {
|
|
1583
|
-
content: "Perspective";
|
|
1584
|
-
position: absolute;
|
|
1585
|
-
top: 20px;
|
|
1586
|
-
right: 20px;
|
|
1587
|
-
padding: 6px 12px;
|
|
1588
|
-
background: rgba(0, 0, 0, 0.6);
|
|
1589
|
-
border-radius: 4px;
|
|
1590
|
-
color: #ffffff;
|
|
1591
|
-
font-size: 11px;
|
|
1592
|
-
text-transform: uppercase;
|
|
1593
|
-
letter-spacing: 1px;
|
|
1594
|
-
pointer-events: none;
|
|
1595
|
-
}
|
|
1596
|
-
.game-canvas-3d[data-camera-mode=top-down]::before {
|
|
1597
|
-
content: "Top Down";
|
|
1598
|
-
position: absolute;
|
|
1599
|
-
top: 20px;
|
|
1600
|
-
right: 20px;
|
|
1601
|
-
padding: 6px 12px;
|
|
1602
|
-
background: rgba(0, 0, 0, 0.6);
|
|
1603
|
-
border-radius: 4px;
|
|
1604
|
-
color: #ffffff;
|
|
1605
|
-
font-size: 11px;
|
|
1606
|
-
text-transform: uppercase;
|
|
1607
|
-
letter-spacing: 1px;
|
|
1608
|
-
pointer-events: none;
|
|
1609
|
-
}
|
|
1610
|
-
.game-canvas-3d[data-overlay=hidden] .game-canvas-3d__coordinates,
|
|
1611
|
-
.game-canvas-3d[data-overlay=hidden] .game-canvas-3d__tile-info,
|
|
1612
|
-
.game-canvas-3d[data-overlay=hidden]::before {
|
|
1613
|
-
display: none;
|
|
1614
|
-
}
|
|
1615
|
-
.game-canvas-3d[data-orientation=rotated] {
|
|
1616
|
-
}
|
|
1617
|
-
.game-canvas-3d canvas {
|
|
1618
|
-
cursor: crosshair;
|
|
1619
|
-
}
|
|
1620
|
-
.game-canvas-3d canvas:active {
|
|
1621
|
-
cursor: grabbing;
|
|
1622
|
-
}
|
|
1623
|
-
@media (max-width: 768px) {
|
|
1624
|
-
.game-canvas-3d__coordinates,
|
|
1625
|
-
.game-canvas-3d__tile-info {
|
|
1626
|
-
font-size: 10px;
|
|
1627
|
-
padding: 6px 10px;
|
|
1628
|
-
}
|
|
1629
|
-
.game-canvas-3d::before {
|
|
1630
|
-
font-size: 9px;
|
|
1631
|
-
padding: 4px 8px;
|
|
1632
|
-
}
|
|
1633
|
-
}
|
|
1634
|
-
.game-canvas-3d:focus {
|
|
1635
|
-
outline: 2px solid #4488ff;
|
|
1636
|
-
outline-offset: 2px;
|
|
1637
|
-
}
|
|
1638
|
-
.game-canvas-3d canvas {
|
|
1639
|
-
transition: opacity 0.3s ease;
|
|
1640
|
-
}
|
|
1641
|
-
.game-canvas-3d__context-menu {
|
|
1642
|
-
position: absolute;
|
|
1643
|
-
background: rgba(0, 0, 0, 0.9);
|
|
1644
|
-
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1645
|
-
border-radius: 6px;
|
|
1646
|
-
padding: 8px 0;
|
|
1647
|
-
min-width: 150px;
|
|
1648
|
-
z-index: 100;
|
|
1649
|
-
}
|
|
1650
|
-
.game-canvas-3d__context-menu-item {
|
|
1651
|
-
padding: 8px 16px;
|
|
1652
|
-
color: #ffffff;
|
|
1653
|
-
cursor: pointer;
|
|
1654
|
-
font-size: 13px;
|
|
1655
|
-
transition: background 0.15s ease;
|
|
1656
|
-
}
|
|
1657
|
-
.game-canvas-3d__context-menu-item:hover {
|
|
1658
|
-
background: rgba(255, 255, 255, 0.1);
|
|
1659
|
-
}
|
|
1660
|
-
.game-canvas-3d__context-menu-item--danger {
|
|
1661
|
-
color: #ff6b6b;
|
|
1662
|
-
}
|
|
1663
|
-
.game-canvas-3d__context-menu-item--danger:hover {
|
|
1664
|
-
background: rgba(255, 0, 0, 0.2);
|
|
1665
|
-
}
|
|
1666
|
-
|
|
1667
1665
|
/* src/components/core/organisms/debug/RuntimeDebugger.css */
|
|
1668
1666
|
.runtime-debugger {
|
|
1669
1667
|
font-family:
|