Files
Jens faeb58ef6d
GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
Initial public release
2026-08-31 21:56:53 +02:00

1.7 KiB

M9 UI State Specification

Every page and major component must implement these states.

Required States

Initial

No user action yet.

Example copy:

Start by creating a project or opening the Geel demo.

Loading

Data is being fetched or processed.

Requirements:

  • spinner or skeleton,
  • clear label,
  • no layout jump where avoidable.

Empty

Request succeeded but no records exist.

Example:

No datasets have been added to this project yet.

Ready

Data exists and actions are available.

Error

Request failed or validation failed.

Requirements:

  • readable error,
  • retry action where safe,
  • technical details hidden behind details/expand if useful.

Disabled/Future

Feature is planned but not implemented in V1.

Requirements:

  • show disabled state,
  • explain why,
  • do not show fake results.

Page Requirements

Home

  • Initial: explain GeoIntel.
  • Empty: no recent projects.
  • Ready: project cards and demo card.

Project Workspace

  • Loading project.
  • Missing project error.
  • Empty datasets/areas states.
  • Ready dashboard.

Dataset Manager

  • Empty upload area.
  • Upload progress.
  • Upload failed.
  • Processing.
  • Ready metadata.

Map Workbench

  • No area selected.
  • Area loaded.
  • Layer loading.
  • Layer error.
  • Unsupported layer type.

Detection Lab

  • No raster selected.
  • No model configured.
  • Running job.
  • Completed detections.
  • Failed inference.

QA/QC Lab

  • Missing reference dataset.
  • Missing predicted dataset.
  • Running comparison.
  • Metrics ready.
  • No matches found.

Do Not

  • Do not leave blank panels.
  • Do not show random demo metrics in ready state.
  • Do not hide errors in console only.