@mindexec/cli 0.2.325 → 0.2.327

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindexec/cli",
3
- "version": "0.2.325",
3
+ "version": "0.2.327",
4
4
  "description": "MindExec local runtime and bridge CLI",
5
5
  "main": "server.js",
6
6
  "type": "module",
@@ -230,6 +230,32 @@ body.is-resizing .css3d-resolution-wrapper {
230
230
  transition: none !important;
231
231
  }
232
232
 
233
+ body.is-zooming .css3d-resolution-wrapper,
234
+ body.is-panning .css3d-resolution-wrapper {
235
+ -webkit-transition: none !important;
236
+ transition: none !important;
237
+ }
238
+
239
+ body.is-zooming .css3d-resolution-wrapper.selected,
240
+ body.is-panning .css3d-resolution-wrapper.selected,
241
+ body.mindcanvas-is-moving .css3d-resolution-wrapper.selected,
242
+ body.mindcanvas-is-dense .css3d-resolution-wrapper.selected {
243
+ -webkit-filter: saturate(1.08) !important;
244
+ filter: saturate(1.08) !important;
245
+ }
246
+
247
+ body.is-zooming .node-menu-wrapper,
248
+ body.is-panning .node-menu-wrapper,
249
+ body.is-zooming .map-node-memo__icon-popover,
250
+ body.is-panning .map-node-memo__icon-popover {
251
+ -webkit-backdrop-filter: none !important;
252
+ backdrop-filter: none !important;
253
+ -webkit-box-shadow: none !important;
254
+ box-shadow: none !important;
255
+ -webkit-transition: none !important;
256
+ transition: none !important;
257
+ }
258
+
233
259
  .mindcanvas-node-toolbar,
234
260
  .global-ai-input-shell {
235
261
  position: relative;
@@ -1171,7 +1197,7 @@ body.is-node-dragging * {
1171
1197
 
1172
1198
  .map-node-note.selected {
1173
1199
  /* 선택 시에만 최소한의 glow */
1174
- box-shadow: none !important;
1200
+ box-shadow: 0 0 0 2px rgba(var(--mind-node-selection-glow-rgb), 0.14);
1175
1201
  }
1176
1202
 
1177
1203
  /* ▲▲▲ [Perf] ▲▲▲ */
@@ -1180,19 +1206,26 @@ body.is-node-dragging * {
1180
1206
 
1181
1207
  .map-node-bubble.selected {
1182
1208
  border-color: var(--mind-node-selection-edge) !important;
1183
- box-shadow: none !important;
1209
+ box-shadow: 0 0 0 2px rgba(var(--mind-node-selection-glow-rgb), 0.18),
1210
+ 0 0 22px rgba(var(--mind-node-selection-glow-rgb), 0.18),
1211
+ 0 10px 15px -3px rgba(0, 0, 0, 0.2) !important;
1184
1212
  overflow: hidden !important;
1185
1213
  }
1186
1214
 
1187
1215
  .map-node-note.selected,
1188
1216
  .map-node-note:focus-within {
1189
1217
  border-color: var(--mind-node-selection-edge) !important;
1190
- box-shadow: none !important;
1218
+ box-shadow:
1219
+ 0 0 18px 0 rgba(var(--mind-node-selection-glow-rgb), 0.24),
1220
+ 0 0 32px 0 rgba(var(--mind-node-selection-glow-soft-rgb), 0.16) !important;
1191
1221
  overflow: hidden !important;
1192
1222
  }
1193
1223
 
1194
- /* Image hard edge lives on its own media surface.
1195
- Text nodes keep a crisp border so overlapping nodes remain readable. */
1224
+ /* Note/Image hard edge lives on the inner CSS3D card in app.css.
1225
+ Keep the soft wrapper shadow, but strip the dark stroke from the card itself. */
1226
+ .map-node-note,
1227
+ .map-node-note.selected,
1228
+ .map-node-note:focus-within,
1196
1229
  .map-node-image-container,
1197
1230
  .map-node-image-container.selected {
1198
1231
  border: none !important;
@@ -1203,38 +1236,61 @@ body.is-node-dragging * {
1203
1236
  }
1204
1237
 
1205
1238
  .css3d-resolution-wrapper.node-type-note {
1206
- -webkit-box-shadow: none !important;
1207
- box-shadow: none !important;
1208
- -webkit-filter: none !important;
1209
- filter: none !important;
1239
+ -webkit-box-shadow:
1240
+ 0 0 6px rgba(15, 23, 42, 0.25),
1241
+ 0 0 16px rgba(15, 23, 42, 0.18),
1242
+ 0 0 30px rgba(15, 23, 42, 0.12),
1243
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1244
+ box-shadow:
1245
+ 0 0 6px rgba(15, 23, 42, 0.25),
1246
+ 0 0 16px rgba(15, 23, 42, 0.18),
1247
+ 0 0 30px rgba(15, 23, 42, 0.12),
1248
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1210
1249
  }
1211
1250
 
1212
1251
  .css3d-resolution-wrapper.selected {
1213
1252
  outline: 1px solid rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.24) !important;
1214
- outline-offset: 0;
1215
- -webkit-box-shadow: none !important;
1216
- box-shadow: none !important;
1217
- -webkit-filter: none !important;
1218
- filter: none !important;
1253
+ outline-offset: 1px;
1254
+ -webkit-box-shadow:
1255
+ 0 0 4px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.56),
1256
+ 0 0 12px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.44),
1257
+ 0 0 28px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.32),
1258
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft, 191, 219, 254), 0.26) !important;
1259
+ box-shadow:
1260
+ 0 0 4px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.56),
1261
+ 0 0 12px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.44),
1262
+ 0 0 28px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.32),
1263
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft, 191, 219, 254), 0.26) !important;
1264
+ -webkit-filter: saturate(1.08) !important;
1265
+ filter: saturate(1.08) !important;
1219
1266
  }
1220
1267
 
1221
1268
  .css3d-resolution-wrapper.selection-style-agent.selected {
1222
1269
  outline: 1px solid rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.24) !important;
1223
- outline-offset: 0;
1224
- -webkit-box-shadow: none !important;
1225
- box-shadow: none !important;
1226
- -webkit-filter: none !important;
1227
- filter: none !important;
1270
+ outline-offset: 1px;
1271
+ -webkit-box-shadow:
1272
+ 0 0 4px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.56),
1273
+ 0 0 12px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.44),
1274
+ 0 0 28px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.32),
1275
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft, 191, 219, 254), 0.26) !important;
1276
+ box-shadow:
1277
+ 0 0 4px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.56),
1278
+ 0 0 12px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.44),
1279
+ 0 0 28px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.32),
1280
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft, 191, 219, 254), 0.26) !important;
1281
+ -webkit-filter: saturate(1.08) !important;
1282
+ filter: saturate(1.08) !important;
1228
1283
  }
1229
1284
 
1230
- /* During resize, keep the crisp selection edge and avoid decorative glow. */
1285
+ /* During resize, keep the crisp selection edge but drop the large blur shadow.
1286
+ The blur bleeds underneath overlapping siblings and looks like a second glow. */
1231
1287
  body.is-resizing .css3d-resolution-wrapper.selected,
1232
1288
  body.is-resizing .css3d-resolution-wrapper.node-type-note.selected,
1233
1289
  body.is-resizing .css3d-resolution-wrapper.node-type-image.selected,
1234
1290
  body.is-resizing .css3d-resolution-wrapper.node-type-video.selected,
1235
1291
  body.is-resizing .css3d-resolution-wrapper.node-type-embed.selected {
1236
1292
  outline: 1px solid rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.34) !important;
1237
- outline-offset: 0;
1293
+ outline-offset: 1px;
1238
1294
  -webkit-box-shadow: none !important;
1239
1295
  box-shadow: none !important;
1240
1296
  -webkit-filter: none !important;
@@ -1242,10 +1298,18 @@ body.is-resizing .css3d-resolution-wrapper.node-type-embed.selected {
1242
1298
  }
1243
1299
 
1244
1300
  .css3d-resolution-wrapper.node-type-note.selected {
1245
- -webkit-box-shadow: none !important;
1246
- box-shadow: none !important;
1247
- -webkit-filter: none !important;
1248
- filter: none !important;
1301
+ -webkit-box-shadow:
1302
+ 0 0 4px rgba(var(--node-selection-glow-rgb), 0.56),
1303
+ 0 0 12px rgba(var(--node-selection-glow-rgb), 0.44),
1304
+ 0 0 28px rgba(var(--node-selection-glow-rgb), 0.32),
1305
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft), 0.26) !important;
1306
+ box-shadow:
1307
+ 0 0 4px rgba(var(--node-selection-glow-rgb), 0.56),
1308
+ 0 0 12px rgba(var(--node-selection-glow-rgb), 0.44),
1309
+ 0 0 28px rgba(var(--node-selection-glow-rgb), 0.32),
1310
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft), 0.26) !important;
1311
+ -webkit-filter: saturate(1.08) !important;
1312
+ filter: saturate(1.08) !important;
1249
1313
  }
1250
1314
 
1251
1315
  html.mindcanvas-platform-apple .css3d-resolution-wrapper.selected,
@@ -1260,33 +1324,61 @@ html.mindcanvas-platform-apple .css3d-resolution-wrapper.is-automation-relation-
1260
1324
  }
1261
1325
 
1262
1326
  .css3d-resolution-wrapper.node-type-image {
1263
- -webkit-box-shadow: none !important;
1264
- box-shadow: none !important;
1265
- -webkit-filter: none !important;
1266
- filter: none !important;
1327
+ -webkit-box-shadow:
1328
+ 0 0 6px rgba(15, 23, 42, 0.25),
1329
+ 0 0 16px rgba(15, 23, 42, 0.18),
1330
+ 0 0 30px rgba(15, 23, 42, 0.12),
1331
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1332
+ box-shadow:
1333
+ 0 0 6px rgba(15, 23, 42, 0.25),
1334
+ 0 0 16px rgba(15, 23, 42, 0.18),
1335
+ 0 0 30px rgba(15, 23, 42, 0.12),
1336
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1267
1337
  }
1268
1338
 
1269
1339
  .css3d-resolution-wrapper.node-type-video,
1270
1340
  .css3d-resolution-wrapper.node-type-embed {
1271
- -webkit-box-shadow: none !important;
1272
- box-shadow: none !important;
1273
- -webkit-filter: none !important;
1274
- filter: none !important;
1341
+ -webkit-box-shadow:
1342
+ 0 0 6px rgba(15, 23, 42, 0.25),
1343
+ 0 0 16px rgba(15, 23, 42, 0.18),
1344
+ 0 0 30px rgba(15, 23, 42, 0.12),
1345
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1346
+ box-shadow:
1347
+ 0 0 6px rgba(15, 23, 42, 0.25),
1348
+ 0 0 16px rgba(15, 23, 42, 0.18),
1349
+ 0 0 30px rgba(15, 23, 42, 0.12),
1350
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1275
1351
  }
1276
1352
 
1277
1353
  .css3d-resolution-wrapper.node-type-image.selected {
1278
- -webkit-box-shadow: none !important;
1279
- box-shadow: none !important;
1280
- -webkit-filter: none !important;
1281
- filter: none !important;
1354
+ -webkit-box-shadow:
1355
+ 0 0 4px rgba(var(--node-selection-glow-rgb), 0.56),
1356
+ 0 0 12px rgba(var(--node-selection-glow-rgb), 0.44),
1357
+ 0 0 28px rgba(var(--node-selection-glow-rgb), 0.32),
1358
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft), 0.26) !important;
1359
+ box-shadow:
1360
+ 0 0 4px rgba(var(--node-selection-glow-rgb), 0.56),
1361
+ 0 0 12px rgba(var(--node-selection-glow-rgb), 0.44),
1362
+ 0 0 28px rgba(var(--node-selection-glow-rgb), 0.32),
1363
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft), 0.26) !important;
1364
+ -webkit-filter: saturate(1.08) !important;
1365
+ filter: saturate(1.08) !important;
1282
1366
  }
1283
1367
 
1284
1368
  .css3d-resolution-wrapper.node-type-video.selected,
1285
1369
  .css3d-resolution-wrapper.node-type-embed.selected {
1286
1370
  outline: 1px solid rgba(var(--node-selection-glow-rgb), 0.24) !important;
1287
- outline-offset: 0;
1288
- -webkit-box-shadow: none !important;
1289
- box-shadow: none !important;
1371
+ outline-offset: 1px;
1372
+ -webkit-box-shadow:
1373
+ 0 0 6px rgba(15, 23, 42, 0.25),
1374
+ 0 0 16px rgba(15, 23, 42, 0.18),
1375
+ 0 0 30px rgba(15, 23, 42, 0.12),
1376
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1377
+ box-shadow:
1378
+ 0 0 6px rgba(15, 23, 42, 0.25),
1379
+ 0 0 16px rgba(15, 23, 42, 0.18),
1380
+ 0 0 30px rgba(15, 23, 42, 0.12),
1381
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1290
1382
  -webkit-filter: none !important;
1291
1383
  filter: none !important;
1292
1384
  }
@@ -1294,8 +1386,16 @@ html.mindcanvas-platform-apple .css3d-resolution-wrapper.is-automation-relation-
1294
1386
  .css3d-resolution-wrapper.node-type-video.selected-media-safe,
1295
1387
  .css3d-resolution-wrapper.node-type-embed.selected-media-safe {
1296
1388
  outline: none !important;
1297
- -webkit-box-shadow: none !important;
1298
- box-shadow: none !important;
1389
+ -webkit-box-shadow:
1390
+ 0 0 6px rgba(15, 23, 42, 0.25),
1391
+ 0 0 16px rgba(15, 23, 42, 0.18),
1392
+ 0 0 30px rgba(15, 23, 42, 0.12),
1393
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1394
+ box-shadow:
1395
+ 0 0 6px rgba(15, 23, 42, 0.25),
1396
+ 0 0 16px rgba(15, 23, 42, 0.18),
1397
+ 0 0 30px rgba(15, 23, 42, 0.12),
1398
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1299
1399
  -webkit-filter: none !important;
1300
1400
  filter: none !important;
1301
1401
  }
@@ -1303,9 +1403,13 @@ html.mindcanvas-platform-apple .css3d-resolution-wrapper.is-automation-relation-
1303
1403
  .css3d-resolution-wrapper.node-type-video.selected-media-safe .map-node.selected,
1304
1404
  .css3d-resolution-wrapper.node-type-embed.selected-media-safe .map-node.selected {
1305
1405
  outline: 1px solid rgba(var(--node-selection-glow-rgb), 0.82) !important;
1306
- outline-offset: 0;
1307
- -webkit-box-shadow: none !important;
1308
- box-shadow: none !important;
1406
+ outline-offset: -1px;
1407
+ -webkit-box-shadow:
1408
+ 0 0 0 1px rgba(var(--node-selection-glow-rgb), 0.18) inset,
1409
+ 0 0 0 1px rgba(var(--node-selection-glow-rgb-soft), 0.12) !important;
1410
+ box-shadow:
1411
+ 0 0 0 1px rgba(var(--node-selection-glow-rgb), 0.18) inset,
1412
+ 0 0 0 1px rgba(var(--node-selection-glow-rgb-soft), 0.12) !important;
1309
1413
  }
1310
1414
 
1311
1415
  .map-node-memo.selected,
@@ -1316,7 +1420,9 @@ html.mindcanvas-platform-apple .css3d-resolution-wrapper.is-automation-relation-
1316
1420
  .map-node-code.selected,
1317
1421
  .map-node-code:focus-within {
1318
1422
  border-color: var(--mind-node-selection-edge) !important;
1319
- box-shadow: none !important;
1423
+ box-shadow:
1424
+ 0 0 18px 0 rgba(var(--mind-node-selection-glow-rgb), 0.24),
1425
+ 0 0 32px 0 rgba(var(--mind-node-selection-glow-soft-rgb), 0.16) !important;
1320
1426
  overflow: hidden !important;
1321
1427
  }
1322
1428
 
@@ -1329,8 +1435,8 @@ html.mindcanvas-platform-apple .css3d-resolution-wrapper.is-automation-relation-
1329
1435
  overflow: visible !important;
1330
1436
  }
1331
1437
 
1332
- /* Use the wrapper as the single source of truth for CSS3D selection edge.
1333
- Agent wrappers intentionally mirror the edit-state edge so selection/editing
1438
+ /* Use the wrapper as the single source of truth for CSS3D selection glow.
1439
+ Agent wrappers intentionally mirror the edit-state glow so selection/editing
1334
1440
  keep the same visual signature even when overlays swap in and out. */
1335
1441
  .css3d-resolution-wrapper.selected .map-node-bubble.selected,
1336
1442
  .css3d-resolution-wrapper.selected .map-node-code.selected,
@@ -5,7 +5,7 @@
5
5
  const DEBUG = false;
6
6
  const FPS_DEBUG = false;
7
7
  const FRAME_PERF_DEBUG = false;
8
- const MINDMAP_CORE_BUILD_ID = '20260621-passive-overlay-visual-v809';
8
+ const MINDMAP_CORE_BUILD_ID = '20260621-motion-guard-restore-v811';
9
9
  const CanvasPhase = Object.freeze({
10
10
  Booting: 'booting',
11
11
  BoardFileLoading: 'board-file-loading',
@@ -51,7 +51,7 @@
51
51
  // ▲▲▲ [Usage] ▲▲▲
52
52
 
53
53
  // Procedural line rendering settings
54
- const LOD_RENDERER_BUILD_ID = '20260621-passive-overlay-visual-v809';
54
+ const LOD_RENDERER_BUILD_ID = '20260621-motion-guard-restore-v811';
55
55
  const DirtyKind = Object.freeze({
56
56
  ResidentFullRebuild: 'resident-full-rebuild',
57
57
  ResidentPatch: 'resident-patch',
@@ -7,8 +7,8 @@
7
7
  <title>MindExec | Business Execution OS for solo builders</title>
8
8
  <meta name="description" content="MindExec is an AI business execution OS for solo builders who want to turn notes, research, assets, and repeatable execution Skills into revenue-producing work." />
9
9
  <base href="/" />
10
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260621-passive-overlay-visual-v809" />
11
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260621-passive-overlay-visual-v809" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260621-motion-guard-restore-v811" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260621-motion-guard-restore-v811" />
12
12
  <!-- ??좎뜦堉??Font Awesome (local) ??좎뜦堉??-->
13
13
  <link rel="stylesheet" href="_content/MindExecution.Shared/lib/font-awesome/css/all.min.css" />
14
14
  <!-- ??좎뜦堉??-->
@@ -579,7 +579,7 @@
579
579
  }
580
580
 
581
581
  const base = '_content/MindExecution.Shared/js/';
582
- const scriptVersion = '20260621-passive-overlay-visual-v809';
582
+ const scriptVersion = '20260621-motion-guard-restore-v811';
583
583
  const scriptUrl = (script) => `${base}${script}?v=${scriptVersion}`;
584
584
  console.log(`[Script Loader] Shared JS version: ${scriptVersion}`);
585
585
  const criticalScripts = [
@@ -1,5 +1,5 @@
1
1
  self.assetsManifest = {
2
- "version": "/ZP7j8/4",
2
+ "version": "kc3RBXvn",
3
3
  "assets": [
4
4
  {
5
5
  "hash": "sha256-+CSYMcqLNTsq3VnH11jgYyOCCdxvHzL74CBmo4sCmMU=",
@@ -42,7 +42,7 @@
42
42
  "url": "_content/MindExecution.Shared/css/app.css"
43
43
  },
44
44
  {
45
- "hash": "sha256-vid9yH+PpB1piyotFJWl7w8T0rHHzozGJXcARF4Bt3M=",
45
+ "hash": "sha256-XsHx8jtqaF2GFT6fBpnYFy2MqlfjaDY7jfj5HvpsZJU=",
46
46
  "url": "_content/MindExecution.Shared/css/mind-map-overrides.css"
47
47
  },
48
48
  {
@@ -78,7 +78,7 @@
78
78
  "url": "_content/MindExecution.Shared/js/marked.min.js"
79
79
  },
80
80
  {
81
- "hash": "sha256-/B3VgAaxd8kCxinkwTtDL2FZqd/16ZT776aofWm2d3U=",
81
+ "hash": "sha256-R7D6aBzcoTGg6ZhJYa4PDvCk8LsZF6roBRGPnlAAmEY=",
82
82
  "url": "_content/MindExecution.Shared/js/mind-map-core.js"
83
83
  },
84
84
  {
@@ -114,7 +114,7 @@
114
114
  "url": "_content/MindExecution.Shared/js/mind-map-lod-plan-worker.js"
115
115
  },
116
116
  {
117
- "hash": "sha256-+AKWC0QdceiMs2L5gB8YYo7FGxOKQryQZQUqqcSiE00=",
117
+ "hash": "sha256-umoBvZFbCUnAliUaE+8g1eHtKLxbe5NoFGoDNkVoJy0=",
118
118
  "url": "_content/MindExecution.Shared/js/mind-map-lod-renderer.js"
119
119
  },
120
120
  {
@@ -834,7 +834,7 @@
834
834
  "url": "image-manifest.json"
835
835
  },
836
836
  {
837
- "hash": "sha256-KY6fyBhIFE2MDuYOYewFBAjKksJZocJxS2uxk73ND3U=",
837
+ "hash": "sha256-k2LL0X6kKXi2b5s5CTaftzvdEWW/Cl+nzOwYgfOjDZk=",
838
838
  "url": "index.html"
839
839
  },
840
840
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: /ZP7j8/4 */
1
+ /* Manifest version: kc3RBXvn */
2
2
  // Hosted deployments should prefer the network over stale offline caches.
3
3
  // This service worker immediately clears old Blazor offline caches and unregisters itself.
4
4