You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
SuperCloud: bestanden uit Docs openen en de assistent (MCP) aansluiten #52
In de OpenAEC SuperCloud moet Open Pointcloud Studio twee dingen kunnen: bestanden uit Docs openen en opslaan (geen download en upload), en bediend worden door de AI-assistent met dezelfde tools als de MCP-server van de desktop. Het contract staat in de Blueprint: docs/supercloud-koppeling.md.
Route: A (browsertool in de werkplek). Bestanden: .las, .laz, .e57, .ply, .pcd, .pts, .ptx, .xyz.
Waar het nu staat
De webeditie (classic/) draait in de werkplek; de brug opent via het bestandsveld. Geen hostcontract en geen window.__OPDS_APP__.
De MCP-server zit in de native app.
Wat er moet gebeuren
Openen via window.openaecHost (initialFileId en list); exports blijven downloads.
window.__OPDS_APP__ met pointcloud_*-tools: stand (punten, omvang, klassen), meten, een doorsnede, filteren; dezelfde tools als de native MCP-server.
Een platformbouw van de webeditie met relatieve base.
Voor grote scans: route B, een native Linux-build voor arm64 met de MCP-server.
Controle: de platformbouw start zonder fouten in een sandbox="allow-scripts allow-modals"-frame, en Openen, Opslaan en de assistent werken met een nep-window.openaecHost in de console.
Voorbeelden
Open Calc Studio: src/services/file/siteHost.ts (hostcontract) en src/services/mcp/siteAppTools.ts (assistent), branch feat/werkplek-app-tools.
Open PDF Studio: js/core/werkplek-app.js (de assistent in de gastmodus).
Vragen of hulp: reageer hier, of via de knop Feedback rechtsboven in de SuperCloud.
Implementation prepared in #58 (draft while final native checks run).
Add the supported native SuperCloud route B described by the current Blueprint contract. Managed windows honour OPENAEC_MAP, OPENAEC_TAAL and OPENAEC_THEMA without overwriting desktop preferences, and handle SIGTERM through the normal application exit path. A separate --mcp-http process exposes the exact desktop MCP operations under pointcloud_ names, including pointcloud_open and pointcloud_opslaan, with bearer authentication, Origin refusal, bounded sessions/calls, cancellation and a health endpoint that checks the GUI command path. Stdio MCP names remain compatible.
The Linux package matrix now exercises the extracted AppImage under headless labwc/Wayland with Mesa lavapipe, without FUSE or a GPU. The repeatable probe checks authentication, session lifecycle, 166 tool definitions, opening/saving 1,000 points, screenshots, SIGTERM and unhealthy status after exit.
Validation so far:
Three managed-configuration unit tests and two HTTP authentication/tool-parity tests pass.
The earlier full desktop run passed 734 tests, with 9 ignored; its three README/locale consistency failures have been corrected and await the final rerun.
Local X11 and headless Wayland/lavapipe probes pass. The recorded Wayland idle RSS after rendering is 243,764 KiB (~238 MiB). This used the development binary; release AppImage and arm64 results are left to CI.
Bash syntax, Python compilation and git diff checks pass. Final native tests/clippy are pending; this PR stays draft until those checks pass.
Refs #41 and #52; neither is automatically closed. The current central-image contract supersedes #41's per-tool Docker image request. Browser-only route A and recovery of arbitrary unsaved point edits are outside this implementation. SIGTERM flushes the existing drawing project and cancels background work, but does not invent a persistent scan-edit project format. Deployment and platform-side TLS/mount isolation remain to be verified in the actual host.
PR #58 staat nu samen met de overige wijzigingen in integratie-PR #53. De gecombineerde native GUI is daadwerkelijk getest via 167 desktop-MCP-tools: 1.000 punten openen en opslaan, authenticatie/Origin-weigering, afsluiten via SIGTERM en ongezonde status na afsluiten. Ook een belangrijke combinatie is opgelost en getest: wanneer de gebruiker MCP pauzeert, blijven opdrachten geblokkeerd terwijl de draaiende GUI gezond blijft. Hiervoor gebruikt /gezond een afzonderlijke GUI-heartbeat. Beide modi zijn aangesloten op de Linux-pakketcontroles.
De native app gebruikte lokaal ongeveer 250 MiB in rust met software-Vulkan; dit is het app-proces, geen meting van een gedeployde container. De volledige gecombineerde Rust-workspace heeft 1.424 geslaagde tests zonder fouten.
Dit issue blijft open voor de daadwerkelijke SuperCloud-host/Docs-koppeling en deploymentacceptatie. De implementatie volgt de ondersteunde native route B en het huidige gedeelde Blueprint-contract zoals in #58 beschreven; er wordt geen ondersteunde browsereditie of reeds uitgevoerde clouddeployment geclaimd.
Activity
boazeggs commentedon Nov 5, 2026
Implementation prepared in #58 (draft while final native checks run).
Add the supported native SuperCloud route B described by the current Blueprint contract. Managed windows honour OPENAEC_MAP, OPENAEC_TAAL and OPENAEC_THEMA without overwriting desktop preferences, and handle SIGTERM through the normal application exit path. A separate --mcp-http process exposes the exact desktop MCP operations under pointcloud_ names, including pointcloud_open and pointcloud_opslaan, with bearer authentication, Origin refusal, bounded sessions/calls, cancellation and a health endpoint that checks the GUI command path. Stdio MCP names remain compatible.
The Linux package matrix now exercises the extracted AppImage under headless labwc/Wayland with Mesa lavapipe, without FUSE or a GPU. The repeatable probe checks authentication, session lifecycle, 166 tool definitions, opening/saving 1,000 points, screenshots, SIGTERM and unhealthy status after exit.
Validation so far:
Refs #41 and #52; neither is automatically closed. The current central-image contract supersedes #41's per-tool Docker image request. Browser-only route A and recovery of arbitrary unsaved point edits are outside this implementation. SIGTERM flushes the existing drawing project and cancels background work, but does not invent a persistent scan-edit project format. Deployment and platform-side TLS/mount isolation remain to be verified in the actual host.
boazeggs commentedon Nov 6, 2026
PR #58 staat nu samen met de overige wijzigingen in integratie-PR #53. De gecombineerde native GUI is daadwerkelijk getest via 167 desktop-MCP-tools: 1.000 punten openen en opslaan, authenticatie/Origin-weigering, afsluiten via SIGTERM en ongezonde status na afsluiten. Ook een belangrijke combinatie is opgelost en getest: wanneer de gebruiker MCP pauzeert, blijven opdrachten geblokkeerd terwijl de draaiende GUI gezond blijft. Hiervoor gebruikt
/gezondeen afzonderlijke GUI-heartbeat. Beide modi zijn aangesloten op de Linux-pakketcontroles.De native app gebruikte lokaal ongeveer 250 MiB in rust met software-Vulkan; dit is het app-proces, geen meting van een gedeployde container. De volledige gecombineerde Rust-workspace heeft 1.424 geslaagde tests zonder fouten.
Dit issue blijft open voor de daadwerkelijke SuperCloud-host/Docs-koppeling en deploymentacceptatie. De implementatie volgt de ondersteunde native route B en het huidige gedeelde Blueprint-contract zoals in #58 beschreven; er wordt geen ondersteunde browsereditie of reeds uitgevoerde clouddeployment geclaimd.