@mindexec/cli 0.2.499 → 0.2.501
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 +1 -1
- package/remote-fast/osx-arm64/mindexec-remote-fast.dll +0 -0
- package/remote-fast/osx-x64/mindexec-remote-fast.dll +0 -0
- package/remote-fast/win-x64/mindexec-remote-fast.dll +0 -0
- package/scripts/remote-registry-follower-smoke.mjs +4 -8
- package/wwwroot/_content/MindExecution.Shared/css/native-hybrid.css +98 -0
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-native-render-mirror.js +27 -0
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-native-render-webview2.js +1275 -0
- package/wwwroot/_framework/{MindExecution.Core.s6sxjy1v7h.dll → MindExecution.Core.tzma6emhy9.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Kernel.yta9wud6wh.dll → MindExecution.Kernel.8uq80sy1fj.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.Admin.7aytj09ejo.dll → MindExecution.Plugins.Admin.9wa3rcqkgd.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.Business.wzj1pi81by.dll → MindExecution.Plugins.Business.9dppflwwaw.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.Concept.o6eyyttldg.dll → MindExecution.Plugins.Concept.vzlljp6zpk.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.Directory.rkqhevehjj.dll → MindExecution.Plugins.Directory.vygyxe6pw5.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.PlanMaster.qfmuwz1kj6.dll → MindExecution.Plugins.PlanMaster.i8uxoahd9m.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.YouTube.p6hp1w5nfq.dll → MindExecution.Plugins.YouTube.z0ibm6ffx5.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Shared.b4arhy9bqr.dll → MindExecution.Shared.cdr8vpcn5m.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Web.hlrui65yuu.dll → MindExecution.Web.8l14n1gl76.dll} +0 -0
- package/wwwroot/_framework/blazor.boot.json +21 -21
- package/wwwroot/index.html +3 -1
- package/wwwroot/service-worker-assets.js +32 -24
- package/wwwroot/service-worker.js +1 -1
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -529,19 +529,15 @@ async function main() {
|
|
|
529
529
|
assert.equal(quietRenewSetHost.payload?.ok, true, JSON.stringify(quietRenewSetHost.payload));
|
|
530
530
|
assert.equal(quietRenewSetHost.payload?.active, true, JSON.stringify(quietRenewSetHost.payload));
|
|
531
531
|
assert.equal(quietRenewSetHost.payload?.hostTargetTakeover, false, JSON.stringify(quietRenewSetHost.payload));
|
|
532
|
-
const quietRenewPublish = fakeSupabase.requests
|
|
532
|
+
const quietRenewPublish = await waitFor(() => fakeSupabase.requests
|
|
533
533
|
.filter(request =>
|
|
534
534
|
request.method === 'POST'
|
|
535
535
|
&& request.pathname === '/rest/v1/rpc/set_remote_host_target')
|
|
536
536
|
.slice(beforeQuietRenewPublishCount)
|
|
537
|
-
.find(request => request.body?.p_node_id === 'remote-registry-renew-node')
|
|
537
|
+
.find(request => request.body?.p_node_id === 'remote-registry-renew-node') || null,
|
|
538
|
+
8000,
|
|
539
|
+
`quiet host-target renew publish\n${renewHost.details()}`);
|
|
538
540
|
assert.equal(quietRenewPublish?.body?.p_takeover, false, JSON.stringify(quietRenewPublish?.body));
|
|
539
|
-
await waitFor(() => {
|
|
540
|
-
const publishCount = fakeSupabase.requests.filter(request =>
|
|
541
|
-
request.method === 'POST'
|
|
542
|
-
&& request.pathname === '/rest/v1/rpc/set_remote_host_target').length;
|
|
543
|
-
return publishCount >= 2 ? publishCount : null;
|
|
544
|
-
}, 8000, `host-target auto renew publish\n${renewHost.details()}`);
|
|
545
541
|
const beforeResumePublishCount = fakeSupabase.requests.filter(request =>
|
|
546
542
|
request.method === 'POST'
|
|
547
543
|
&& request.pathname === '/rest/v1/rpc/set_remote_host_target').length;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MindExec native hybrid comparison surface.
|
|
3
|
+
*
|
|
4
|
+
* The selectors stay dormant unless the trusted WebView2 bridge marks the
|
|
5
|
+
* document as hybrid-compare. The web layer remains the default/fallback;
|
|
6
|
+
* native or overlay pixels are exposed only after the current owner snapshot
|
|
7
|
+
* has been acknowledged by the C++ host.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"] {
|
|
11
|
+
--mindexec-native-web-transferred-edge-opacity: 1;
|
|
12
|
+
--mindexec-native-web-node-opacity: 1;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="web"] {
|
|
16
|
+
--mindexec-native-web-transferred-edge-opacity: 1;
|
|
17
|
+
--mindexec-native-web-node-opacity: 1;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="overlay"] {
|
|
21
|
+
--mindexec-native-web-transferred-edge-opacity: 0.34;
|
|
22
|
+
--mindexec-native-web-node-opacity: 0.78;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="native"] {
|
|
26
|
+
--mindexec-native-web-transferred-edge-opacity: 0;
|
|
27
|
+
--mindexec-native-web-node-opacity: 1;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="overlay"],
|
|
31
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="native"],
|
|
32
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="overlay"] body,
|
|
33
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="native"] body,
|
|
34
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="overlay"] #app-container,
|
|
35
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="native"] #app-container,
|
|
36
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="overlay"] #app,
|
|
37
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="native"] #app,
|
|
38
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="overlay"] #app > main.pointer-events-none,
|
|
39
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="native"] #app > main.pointer-events-none {
|
|
40
|
+
background: transparent !important;
|
|
41
|
+
background-color: transparent !important;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="overlay"] #mind-map-viewport,
|
|
45
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="native"] #mind-map-viewport {
|
|
46
|
+
background: transparent !important;
|
|
47
|
+
background-color: transparent !important;
|
|
48
|
+
background-image: none !important;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/*
|
|
52
|
+
* MNR1 endpoint-v1 transfers the business-automation edge paint, but it does
|
|
53
|
+
* not transfer the complete WebGL scene. In particular, the single WebGL
|
|
54
|
+
* canvas also owns MID/FAR resident silhouettes, image-atlas proxies, ordinary
|
|
55
|
+
* connectors, grid hints, and selection visuals. Keep that canvas intact and
|
|
56
|
+
* fade only the exact transferred SVG paint.
|
|
57
|
+
*/
|
|
58
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"]
|
|
59
|
+
#mind-map-viewport .mind-map-business-automation-edge-layer.is-visual {
|
|
60
|
+
opacity: var(--mindexec-native-web-transferred-edge-opacity) !important;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="overlay"]
|
|
64
|
+
#css3d-dom-wrapper .map-node {
|
|
65
|
+
opacity: var(--mindexec-native-web-node-opacity) !important;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/*
|
|
69
|
+
* Native mode transfers only node shells and edges. Text, editing, IME,
|
|
70
|
+
* images, video, embeds, controls and selection stay in WebView2. Remove the
|
|
71
|
+
* outer shell paint without hiding any descendants that carry that content.
|
|
72
|
+
*/
|
|
73
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="native"]
|
|
74
|
+
#css3d-dom-wrapper .map-node {
|
|
75
|
+
background: transparent !important;
|
|
76
|
+
background-color: transparent !important;
|
|
77
|
+
border-color: transparent !important;
|
|
78
|
+
box-shadow: none !important;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="native"]
|
|
82
|
+
#css3d-dom-wrapper .map-node-memo__shell,
|
|
83
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="native"]
|
|
84
|
+
#css3d-dom-wrapper .map-node-memo__header,
|
|
85
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="native"]
|
|
86
|
+
#css3d-dom-wrapper .map-node-memo__body,
|
|
87
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"][data-mindexec-native-compare-layer="native"]
|
|
88
|
+
#css3d-dom-wrapper .map-node-memo__body-view {
|
|
89
|
+
background-color: transparent !important;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
93
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"]
|
|
94
|
+
#mind-map-viewport .mind-map-business-automation-edge-layer.is-visual,
|
|
95
|
+
html[data-mindexec-native-desktop-stage="hybrid-compare"] #css3d-dom-wrapper .map-node {
|
|
96
|
+
transition: opacity 120ms linear;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -425,6 +425,21 @@
|
|
|
425
425
|
};
|
|
426
426
|
}
|
|
427
427
|
|
|
428
|
+
_matchesRetainedSceneOwner(result, owner) {
|
|
429
|
+
const retained = result?.retainedSceneOwner;
|
|
430
|
+
return result?.attachmentRetained === true &&
|
|
431
|
+
result?.cameraRetryAllowed === true &&
|
|
432
|
+
retained?.boardId === owner.boardId &&
|
|
433
|
+
String(retained?.engineGeneration) === String(owner.engineGeneration) &&
|
|
434
|
+
String(retained?.boardEpoch) === String(owner.boardEpoch) &&
|
|
435
|
+
String(retained?.boardRevision) === String(owner.boardRevision) &&
|
|
436
|
+
this.attached &&
|
|
437
|
+
this.boardId === owner.boardId &&
|
|
438
|
+
this.engineGeneration === owner.engineGeneration &&
|
|
439
|
+
this.boardEpoch === owner.boardEpoch &&
|
|
440
|
+
this.boardRevision === owner.boardRevision;
|
|
441
|
+
}
|
|
442
|
+
|
|
428
443
|
_assignHandle(map, id, kind) {
|
|
429
444
|
let handle = map.get(id);
|
|
430
445
|
if (handle) return handle;
|
|
@@ -523,6 +538,18 @@
|
|
|
523
538
|
try {
|
|
524
539
|
const result = await this.api.sendCamera({ owner, camera: this.latestCamera || copyCamera(this.module) });
|
|
525
540
|
if (result?.accepted !== true) {
|
|
541
|
+
if (this._matchesRetainedSceneOwner(result, owner)) {
|
|
542
|
+
publishStatus({ ...result, mode: 'mirror', ready: true });
|
|
543
|
+
emit('native.render.camera.retryable', {
|
|
544
|
+
boardId: owner.boardId,
|
|
545
|
+
engineGeneration: owner.engineGeneration,
|
|
546
|
+
boardEpoch: owner.boardEpoch,
|
|
547
|
+
boardRevision: owner.boardRevision,
|
|
548
|
+
requestSequence: owner.requestSequence,
|
|
549
|
+
reason: String(result?.reason || 'native-render-camera-retryable')
|
|
550
|
+
});
|
|
551
|
+
return;
|
|
552
|
+
}
|
|
526
553
|
throw new Error(result?.reason || result?.lastError || result?.lastRejected?.reason || 'native-render-camera-not-accepted');
|
|
527
554
|
}
|
|
528
555
|
publishStatus({ ...result, mode: 'mirror', ready: true });
|