Preserve map analysis across workspaces
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-17 03:06:05 +02:00
parent 03c6154cac
commit 161564f3d4
6 changed files with 18 additions and 3 deletions
+3
View File
@@ -18,6 +18,9 @@
governed raster analyses and complete historical comparisons. governed raster analyses and complete historical comparisons.
- Added compact post-analysis actions for the local grounded Ollama assistant - Added compact post-analysis actions for the local grounded Ollama assistant
and the existing Downloads workspace, preserving the active area context. and the existing Downloads workspace, preserving the active area context.
- Kept the map workspace mounted while visiting AI, Downloads or another
workspace so the selected theme, computed result and evolution comparison
remain available when the operator returns to the map.
- Replaced the accumulated TODO lists as the product roadmap with one current - Replaced the accumulated TODO lists as the product roadmap with one current
V1 completion board; historical sprint checklists remain retained as V1 completion board; historical sprint checklists remain retained as
implementation evidence. implementation evidence.
@@ -39,5 +39,9 @@ def test_completed_analysis_hands_off_to_ai_and_downloads_responsively() -> None
assert "Open downloads" in workspace assert "Open downloads" in workspace
assert "onOpenAssistant={() => setActiveWorkspace('assistant')}" in app assert "onOpenAssistant={() => setActiveWorkspace('assistant')}" in app
assert "onOpenExports={() => setActiveWorkspace('exports')}" in app assert "onOpenExports={() => setActiveWorkspace('exports')}" in app
assert 'className="workspace-persistent-map"' in app
assert "hidden={activeWorkspace !== 'map'}" in app
assert "{activeWorkspace === 'map' ? (" not in app
assert ".geo-result-next-actions" in styles assert ".geo-result-next-actions" in styles
assert ".geo-results-panel > .geo-result-next-actions" in styles assert ".geo-results-panel > .geo-result-next-actions" in styles
assert ".workspace-persistent-map[hidden]" in styles
+4
View File
@@ -9854,6 +9854,10 @@ Implemented:
analysis response rather than an empty raster GeoJSON shell. analysis response rather than an empty raster GeoJSON shell.
- Added direct post-analysis handoff buttons to `AI-vragen` and `Downloads`. - Added direct post-analysis handoff buttons to `AI-vragen` and `Downloads`.
The selected Area or drawn bbox remains in shared App state. The selected Area or drawn bbox remains in shared App state.
- Kept the geographic explorer mounted while other workspaces are active so
its selected theme, analysis result and temporal comparison survive the
round trip to AI or Downloads. Hidden workspaces remain non-interactive and
MapLibre resizes through its existing `ResizeObserver` when shown again.
- Added one current V1 completion board to `docs/TODO.md`; legacy checklists - Added one current V1 completion board to `docs/TODO.md`; legacy checklists
remain preserved but no longer define product readiness. remain preserved but no longer define product readiness.
+2 -1
View File
@@ -19,7 +19,8 @@ geen open productroadmap meer.
- [x] Download vectorresultaten als GeoJSON, rasteranalyses als JSON en - [x] Download vectorresultaten als GeoJSON, rasteranalyses als JSON en
historische vergelijkingen als JSON; kopieren blijft voor alle drie mogelijk. historische vergelijkingen als JSON; kopieren blijft voor alle drie mogelijk.
- [x] Ga vanuit een afgeronde analyse rechtstreeks naar de lokale - [x] Ga vanuit een afgeronde analyse rechtstreeks naar de lokale
brongebonden Ollama-assistent of naar Downloads. brongebonden Ollama-assistent of naar Downloads en keer terug zonder het
zichtbare kaartresultaat of de evolutievergelijking te verliezen.
- [x] Gebruik de operationele lokale YOLO/PyTorch-keten alleen met persisted - [x] Gebruik de operationele lokale YOLO/PyTorch-keten alleen met persisted
detecties, GRB-QA en expliciete controlewaarschuwingen. detecties, GRB-QA en expliciete controlewaarschuwingen.
- [x] Draai de volledige applicatie in de beheersbare Unraid-container op poort - [x] Draai de volledige applicatie in de beheersbare Unraid-container op poort
+2 -2
View File
@@ -999,7 +999,7 @@ function App(): JSX.Element {
</div> </div>
) : null} ) : null}
{activeWorkspace === 'map' ? ( <div className="workspace-persistent-map" hidden={activeWorkspace !== 'map'}>
<MapWorkspace <MapWorkspace
selectedProjectId={selectedProjectId} selectedProjectId={selectedProjectId}
projects={projects} projects={projects}
@@ -1082,7 +1082,7 @@ function App(): JSX.Element {
onOpenAssistant={() => setActiveWorkspace('assistant')} onOpenAssistant={() => setActiveWorkspace('assistant')}
onOpenExports={() => setActiveWorkspace('exports')} onOpenExports={() => setActiveWorkspace('exports')}
/> />
) : null} </div>
{activeWorkspace === 'analysis' ? ( {activeWorkspace === 'analysis' ? (
<div className="workspace-grid workspace-grid-analysis"> <div className="workspace-grid workspace-grid-analysis">
+3
View File
@@ -7262,3 +7262,6 @@ section {
flex-direction: column; flex-direction: column;
} }
} }
.workspace-persistent-map[hidden] {
display: none;
}