Upgrade async GPU analysis and workbench UX

This commit is contained in:
Jens
2026-08-23 21:50:11 +02:00
parent 4040cbca7b
commit b996986d20
59 changed files with 3999 additions and 274 deletions
+68
View File
@@ -12867,3 +12867,71 @@ Open:
- Browser emulation covers responsive layout and interaction; certification on
physical touch hardware and with a screen reader remains a separate human QA
activity.
## 2026-08-23 - Sol Ultra product-, runtime- en betrouwbaarheidsronde
### Delivered
- Split the public landing foundation from the lazy workbench and MapLibre
styles. The initial production CSS payload dropped from roughly 219 kB to
38.38 kB while the authenticated workbench keeps its complete styling.
- Extended the reproducible browser audit to cover the landing and workbench at
390 x 844, 1366 x 768 and 2560 x 1080, including mobile navigation,
keyboard tabs, loading state, advanced map flow and every guest workspace.
- Corrected the smartphone shell hierarchy: topbar, guest banner and page
heading no longer overlap, and the live Selecteer/Bronnen/Verwerk/Controleer
rail now sits below the map actions instead of behind the fixed navigation.
- Kept full workspace titles for headings and accessible names while shortening
the two mobile navigation labels to `AI-beeld` and `Export`; the browser gate
now rejects any visible sidebar label whose text box is clipped.
- Made map-analysis failures outrank empty states and added an explicit retry;
new selections clear stale coverage immediately.
- Replaced synchronous browser inference with governed async detection and
segmentation queues, project-bound job polling and persisted-run
reconciliation. Detection has NVIDIA preflight; segmentation now fails
closed under the same server CUDA contract. Zero-result runs are communicated
without claiming that the AOI is object-free.
- Bound guest detection, segmentation and export reads/writes to the signed
demo project at the resource level. Matching query parameters can no longer
authorize another project's run, dataset, result or download.
- Closed stale-response races in temporal comparison and the local GeoAI
assistant, plus detection/segmentation run, result and QA flows across project
switches. Previously visited workspaces no longer reload together after every
navigation change.
- Added keyboard-complete pipeline tabs and React-driven model-dialog state,
initial focus and trigger-focus restoration. Landing scrolling now respects
`prefers-reduced-motion`.
- Hardened outbound acquisition redirects before the redirected request is
opened, including origin/port and embedded-credential rejection, and fixed
bounded pagination for segmentation result lists.
- Fixed segmentation readiness and section status: configured production
models now require a real tile manifest before queueing, fixture mode is
visibly test-only, and queued/running NVIDIA work has an explicit live state.
- Localised known model registrations and availability states in the Dutch UI;
raw English backend placeholder copy no longer leaks into the primary model
selector or readiness guidance.
### Verification
- Frontend TypeScript check and production build passed.
- Complete frontend suite: 36 files / 151 tests passed.
- Relevant backend release set: 121 tests passed, covering async analysis jobs,
atomic claims, guest/resource isolation, redirect policy, segmentation
pagination, NVIDIA runtime enforcement and current AI-lab contracts.
- Ruff passed over every changed backend Python module and test.
- Browser evidence passed across three landing and three authenticated
workbench viewports with zero horizontal overflow, console errors or failed
API requests in `.codex-artifacts/sol-ultra-final-l/manifest.json`; focused
AI-workspace and segmentation screenshots are stored beside it.
- Production build passed. Initial landing CSS remains 38.38 kB (8.22 kB
gzip); the lazy workbench JS is 479.76 kB (129.25 kB gzip) and MapLibre stays
isolated in its own lazy chunk.
### Boundaries
- This pass improves runtime correctness and presentation; it does not invent a
new accuracy claim or promote a model checkpoint. Existing governed model
evidence and regional release gates remain authoritative.
- Physical touch-device and screen-reader certification remain human QA. No
commit or deployment was performed because the active execution brief
explicitly forbids committing unless requested.