Refine premium workbench UX
This commit is contained in:
@@ -7345,3 +7345,42 @@ Open:
|
||||
- Browser verification on `http://192.168.10.150:1202` selected the complete Mol Postel workspace and showed ready project/AOI/dataset/QA/export state.
|
||||
- The Map workspace rendered one `1033x542` MapLibre canvas, the OSM road basemap, AOI and `95` persisted detections with no browser warnings/errors, no visible dialog and no horizontal document overflow at a `1280 px` viewport.
|
||||
- No API contract, migration, QualityCheck/Metric row, Detection row, model asset, active-model configuration or inference result changed in this pass.
|
||||
|
||||
# Sprint 180 - Premium workbench UX hardening
|
||||
|
||||
## Implementation
|
||||
|
||||
- Reworked the workbench shell into a calmer operational hierarchy with grouped Workspace, Analyze and Deliver navigation, a compact Mol/Kempen context header and a centered content canvas.
|
||||
- Replaced the permanently reserved inspector column with an on-demand detail drawer. Dataset inspection still invokes the existing detail-loading callback and now opens the drawer explicitly.
|
||||
- Made Data operational at scale by disclosing create/upload forms on demand, arranging Project, AOI and Dataset panels side by side on desktop and bounding their long collections with internal scrolling.
|
||||
- Promoted MapLibre to the primary Map surface. Layer provenance and low-frequency BBox/raw-feature controls remain available in collapsed detail surfaces without removing any GIS action.
|
||||
- Reordered Detection and Segmentation Labs around run controls and result review; model registry and YOLO preflight remain fully available as secondary disclosures.
|
||||
- Added a dedicated `premium.css` presentation layer with a restrained neutral/teal palette, consistent controls, stable panel dimensions and an actual full-width mobile shell. The former narrow sidebar-plus-content split is removed below `920 px`.
|
||||
- Added focused static regression coverage for navigation grouping, optional inspector wiring, scalable Data panels, map hierarchy, AI Lab ordering and responsive behavior.
|
||||
|
||||
## Behavior preservation
|
||||
|
||||
- Existing React state hooks, API clients, service calls, map callbacks, QA actions, uploads, exports and AI run handlers were retained.
|
||||
- No backend application code, endpoint contract, database model, migration, geospatial algorithm, model configuration or persisted evidence was changed.
|
||||
- Legacy UI contract strings and callback signatures remain present for the existing Sprint 1-179 regression suite.
|
||||
|
||||
## Visual audit
|
||||
|
||||
- At `1280x720`, the Overview now uses one compact readiness row and no permanent inspector reservation; Map controls, canvas and secondary layer details follow the intended visual order.
|
||||
- At `2560x1080`, the main workbench uses a centered `1680 px` maximum content width while the map can expand independently; the previous permanently empty `416 px` inspector column is gone.
|
||||
- At `390x844`, navigation becomes a horizontal full-width rail and the main workspace occupies the viewport instead of sharing it with a `152 px` sidebar.
|
||||
- A live 50-project Data state now keeps project and dataset panels within the viewport with internal scrolling instead of pushing the Dataset panel thousands of pixels below the fold.
|
||||
- Detection and Segmentation run controls appear before registry diagnostics, reducing the distance to the primary task while retaining honest model-state detail.
|
||||
|
||||
## Local validation
|
||||
|
||||
- React best-practice review found no new conditional hooks, effect synchronization, unstable list keys or non-semantic interactive controls.
|
||||
- Focused premium-workbench and legacy UI regression coverage passed.
|
||||
- `python -m compileall backend/app`: passed.
|
||||
- Full backend suite: `492 passed`.
|
||||
- Frontend typecheck and production build: passed; app bundle `219.76 kB`, React vendor `140.74 kB` and MapLibre `801.82 kB` before gzip.
|
||||
- `bash scripts/run_readiness_check.sh`: passed with the 81-route API contract audit, single Alembic head, all backend tests, frontend typecheck/build and live-smoke syntax gate.
|
||||
|
||||
## Next pass
|
||||
|
||||
- Harden detection QA coverage and matching diagnostics before making a retraining decision; keep that work separate from this presentation-only sprint.
|
||||
|
||||
@@ -402,6 +402,14 @@ This file now starts with the current implementation status. Older preparation/b
|
||||
|
||||
# Current Workbench UI
|
||||
|
||||
- [x] Replace the accumulated shell overrides with a coherent premium presentation layer while preserving V1 behavior.
|
||||
- [x] Group navigation into Workspace, Analyze and Deliver and make the inspector an optional drawer.
|
||||
- [x] Fix mobile navigation so the active workspace uses the full viewport width.
|
||||
- [x] Bound populated Project, Dataset, QA, AI and Export panels so long histories do not push core actions thousands of pixels down-page.
|
||||
- [x] Move Data create/upload forms and Map/AI diagnostics into explicit progressive disclosures.
|
||||
- [x] Reorder AI Labs around run controls and Map around layer selection plus the MapLibre canvas.
|
||||
- [ ] Harden detection QA coverage and matching diagnostics before any further model training.
|
||||
|
||||
- [x] Replace the one-page workflow panel stack with a task-based workbench shell.
|
||||
- [x] Add persistent project/AOI/dataset/layer context.
|
||||
- [x] Move selected dataset details into a persistent inspector.
|
||||
|
||||
Reference in New Issue
Block a user