diff --git a/_docs/ui_design/v2/README.md b/_docs/ui_design/v2/README.md new file mode 100644 index 0000000..1331598 --- /dev/null +++ b/_docs/ui_design/v2/README.md @@ -0,0 +1,85 @@ +# Azaion UI – v2 Visual-Polish Redesign + +Two parallel takes on the same brief: refresh the original wireframes in [_docs/ui_design/](../) without touching their information architecture. The originals stay as the source of truth for **what** each page contains; v2 explores **how** it could look. + +## Aesthetic direction + +**"Tactical Operations Console"** — defense-grade mission control, leaning on the visual language of air-traffic control consoles and Bloomberg-style trader terminals. Dense, technical, deliberate. The drone-annotation domain rewards this register more than the generic dark-SaaS look the originals defaulted to. + +Shared design tokens (palette, typography, form language) are spelled out in [plugin/_design_system.md](plugin/_design_system.md). The Stitch project uses the same tokens in its design-system asset. + +| Token | Value | +|-------|-------| +| Page bg | `#0A0D10` | +| Panels | `#13171C` | +| Raised | `#1A1F26` | +| Hairlines | `#252B34` | +| Amber accent | `#FF9D3D` | +| Cyan accent | `#36D6C5` | +| Red accent | `#FF4756` | +| Green accent | `#3DDC84` | +| Blue accent | `#4E9EFF` | +| Display / mono | JetBrains Mono | +| Body | IBM Plex Sans | + +## Versions + +### plugin/ — frontend-design plugin + +Self-contained HTML, double-click to view. Tailwind via CDN + an inline ` + + + + +
+ AZAION + + // + + + + + +
+ + LINK + | + user@azaion.com + | + + + + + + +
+
+ + +
+ + + + + +
+
+ + +
+
+
+
AI RECOGNITION ENGINE
+
Detection model runtime parameters. Applied per-flight, hot-reloaded.
+
+
+ MODEL + YOLOV8-X · CKPT-241 + LOADED +
+
+ +
+ + +
+ +
+ +
Number of consecutive frames the model averages before emitting a detection.
+
+ +
+ + +
+ FR +
+
+ + +
+ +
Cooldown gap between successive inference calls on the same video stream.
+
+ +
+ + +
+ SEC +
+
+ + +
+ +
Detections below this threshold are discarded before reaching the canvas.
+
+ +
+ + +
+ % +
+
+
+ + +
+
+ LAST RUN 11:43:09Z + FRAMES 14,228 + AVG CONF 71.4% +
+
+ + +
+
+
+
+ + +
+
+
+
GPS DEVICE LINK
+
Ground-station receiver feeding the GPS-Denied correction pipeline.
+
+
+ SOCKET + UDP/192.168.1.100:9001 + CONNECTED +
+
+ +
+ + +
+ +
+ +
IPv4 endpoint or hostname of the GPS receiver bridge.
+ +
+ + +
+ +
UDP port the receiver streams NMEA sentences on.
+ +
+
+ + +
+ +
Wire format negotiated with the receiver. Switch only when the device is offline.
+
+ + + +
+
+ + +
+
+ FIX 3D · 11 SAT + HDOP 0.82 + LAST PKT +12ms +
+
+ + + +
+
+
+
+ +
+
+ + + + +
+ + diff --git a/_docs/ui_design/v2/plugin/annotations.html b/_docs/ui_design/v2/plugin/annotations.html new file mode 100644 index 0000000..492bec6 --- /dev/null +++ b/_docs/ui_design/v2/plugin/annotations.html @@ -0,0 +1,876 @@ + + + + + +AZAION // Annotations + + + + + + + + + +
+ AZAION + + // + + + + + +
+ + LINK + | + user@azaion.com + | + + + + + + +
+
+ + +
+ + + + +
+ + +
+ + +
+
+ Canvas + strike_zone_07.mp4 + 1920×1080 · 30 FPS +
+
+ ZOOM + 142% + + CURSOR + 0.452, 0.318 + +
+
+ + +
+
+ + +
+
+ + AI DETECTION IN PROGRESS + 3.2s +
+
+
[14:22:41] tile 04/16 → 2 candidates
+
[14:22:42] tile 05/16 → 1 candidate (conf 0.94)
+
[14:22:43] filtering by min_conf=0.25…
+
+
+
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+
+
+
+
+ + +
+
+ + + + + + + VEHICLE + 94.2% +
+
+ + +
0.40, 0.56
+
+ + +
+
+
+
+
+
+ +
+
+ + + + + + MILVEH + 88.6% +
+
+
0.74, 0.68
+
+
+ + +
+ +
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+ +
+ + + + + +
+ + FRAME STEP +
+ + + + + +
+ + + + + + + + + + + + + +
+ + + 62 +
+
+ + +
+ 00:58.412 + / + 02:47.000 + + FRAME + 1284 / 5040 +
+
+
+ +
+ + + + +
+ + + diff --git a/_docs/ui_design/v2/plugin/dataset_explorer.html b/_docs/ui_design/v2/plugin/dataset_explorer.html new file mode 100644 index 0000000..0812197 --- /dev/null +++ b/_docs/ui_design/v2/plugin/dataset_explorer.html @@ -0,0 +1,876 @@ + + + + + +Azaion // Dataset Explorer + + + + + + + + + + +
+ AZAION + + // + + + + + +
+ + LINK + | + user@azaion.com + | + + + + + + +
+
+ + +
+ + + + + +
+ + +
+ + + +
+ Range + + + +
+ + + + +
+ Flight + +
+ + + + +
+ Status + + + + +
+ +
+ Showing + 214 / 1047 + + + +
+
+ + +
+ + + +
+
+ Annotations + 214 +
+
+ Editor + +
+
+ Class Distribution +
+
+ + Live sync +
+
+ + +
+
+ + +
+
+
+
+
+
12 MAY · RD
+
+ VALIDATED +
+
+ + +
+
+
+
+
+
12 MAY · AB
+
+ CREATED +
+
+ + +
+
+
+
+
11 MAY · RD
+
+ VALIDATED +
+
+ + +
+
+
+
+
11 MAY · MK
+
+ EDITED +
+
+ + +
+
+
+
11 MAY · RD
+
+ NONE +
+
+ + +
+
+
+
+
+
11 MAY · OK
+
+ VALIDATED +
+
+ + +
+
+
+
+
10 MAY · RD
+
+ CREATED +
+
+ + +
+
+
+
+
+
+
10 MAY · RD
+
+ VALIDATED +
+
+ + +
+
+
+
+
10 MAY · MK
+
+ EDITED +
+
+ + +
+
+
+
10 MAY · AB
+
+ NONE +
+
+ + +
+
+
+
+
10 MAY · RD
+
+ VALIDATED +
+
+ + +
+
+
+
+
10 MAY · OK
+
+ CREATED +
+
+ + +
+
+
+
+
+
09 MAY · RD
+
+ VALIDATED +
+
+ + +
+
+
+
+
09 MAY · MK
+
+ EDITED +
+
+ + +
+
+
+
09 MAY · OK
+
+ NONE +
+
+ + +
+
+
+
+
+
09 MAY · RD
+
+ VALIDATED +
+
+ + +
+
+
+
+
09 MAY · RD
+
+ CREATED +
+
+ + +
+
+
+
+
09 MAY · AB
+
+ VALIDATED +
+
+ + +
+
+
+
+
08 MAY · MK
+
+ EDITED +
+
+ + +
+
+
+
+
+
08 MAY · RD
+
+ VALIDATED +
+
+ + +
+
+
+
08 MAY · OK
+
+ NONE +
+
+ + +
+
+
+
+
08 MAY · RD
+
+ CREATED +
+
+ + +
+
+
+
+
08 MAY · AB
+
+ VALIDATED +
+
+ + +
+
+
+
+
08 MAY · MK
+
+ EDITED +
+
+ +
+
+
+ + +
+ + + + + + + + +
+ Selected + ann_FL03_0231_ArmorVehicle_07 +
+ +
+ 3 of 214 selected +
+
+ +
+
+ + + diff --git a/_docs/ui_design/v2/plugin/flights.html b/_docs/ui_design/v2/plugin/flights.html new file mode 100644 index 0000000..b7658cc --- /dev/null +++ b/_docs/ui_design/v2/plugin/flights.html @@ -0,0 +1,895 @@ + + + + + +AZAION // FLIGHTS — Tactical Ops + + + + + + + + + +
+ AZAION + + // + + + + + +
+ + LINK + | + user@azaion.com + | + + + + + + +
+
+ + +
+ + + + + + + + + + + + + + +
+ + +
+
+ + +
SECTOR 04-K // ZOOM 17
+
— TARGET CORRIDOR —
+
N 48.8566 // E 02.3522
+
GRID 60M · WGS-84
+ + +
+ + + + + + + + N + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+ WP-00 · START +
+ +
+
+ WP-01 +
+
+
+ WP-02 +
+
+
+ WP-03 + CORRECTED +
+
+
+ WP-04 +
+ +
+
+ WP-FN · TARGET +
+ + +
+
+ + + LIVE · CONNECTED + + FL02 +
+
+
+ Sat + 12 / 14 +
+
+ Lat + 48.85660° N +
+
+ Lon + 02.35220° E +
+
+ Alt + 320 M / AGL +
+
+ Hdg + 047° NE +
+
+ Spd + 11.4 M/S +
+
+ Link + RSSI -52 DBM +
+
+ +
+ + +
+
+ // Map Legend +
+
+
+ + Planned · Original +
+
+ + Corrected · Live +
+
+
+ Origin / Start +
+
+
+ Waypoint +
+
+
+ Target / Finish +
+
+ +
+ + +
+ + +
+ + +
+ + +
+ TELEMETRY · LIVE + SSE + FRAME 12,847 / 18,400 + · + LAT 48.85660 N · LON 02.35220 E + LAST PING +0.42S +
+
+ +
+ + + + + diff --git a/_docs/ui_design/v2/plugin/settings.html b/_docs/ui_design/v2/plugin/settings.html new file mode 100644 index 0000000..3044c92 --- /dev/null +++ b/_docs/ui_design/v2/plugin/settings.html @@ -0,0 +1,653 @@ + + + + + +AZAION // SETTINGS + + + + + + + + + +
+ + + // + + + + + +
+ + LINK + | + user@azaion.com + | + + + + + + +
+
+ + +
+ + +
+ + +
+
+ TENANT CONFIGURATION + 01 +
+
+
+ +
+
+ + REQ +
+ +
+ +
+
+ +
+ +
+ +
+
+
+ + PX +
+
+ + px +
+
+
+
+ + DEG +
+
+ + ° +
+
+
+ +
+ +
+
+ + +
+
+ DIRECTORIES + 02 +
+
+
+ +
+
+ + MOUNTED +
+
+ + + + + + + + +
+
+ +
+
+ + MOUNTED +
+
+ + + + + + + +
+
+ +
+
+ + CACHE +
+
+ + + + + + + +
+
+ +
+ Storage Free + 412.8 / 960.0 GB +
+ +
+ +
+
+ + +
+
+
+ AIRCRAFTS + 03 + · 4 REGISTERED +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModelTypeDefault
DJI Mavic 3 EnterpriseCopter
Matrice 300 RTKCopter
Fixed-Wing Scout Mk.IIPlane
Leleka-100Plane
+ +
+
+ +
+ + +
+ + +
+
+
+ LANGUAGE + 04 +
+ Locale · EN-US +
+
+
+
+ + +
+
+ Affects all UI text + Detection class names also use the localized field from seed data. +
+
+ + i18n BUNDLE v2.4.1 +
+
+ +
+
+ + +
+
+
+ SESSION + 05 +
+ ACTIVE +
+
+
+
+ Last Login + 2026-05-16 · 08:42:11 UTC + SRC 10.42.13.7 · TOKEN …f3a9c1 +
+ +
+ +
+
+ +
+ + + + +
+ + + diff --git a/_docs/ui_design/v2/stitch/admin.html b/_docs/ui_design/v2/stitch/admin.html new file mode 100644 index 0000000..a2331b8 --- /dev/null +++ b/_docs/ui_design/v2/stitch/admin.html @@ -0,0 +1,348 @@ + + + + + +AZAION TACTICAL OPS - ADMIN + + + + + + + + + +
+
+AZAION +
+FL02 +arrow_drop_down +
+ +
+
+
+ +search +
+notifications +settings +
+OPERATOR_AVATAR +
+
+
+
+ + + +
+ +
+
+

+psychology + AI RECOGNITION SETTINGS +

+
+
+# FRAMES_PER_SEC + +
+
+MIN_SECONDS + +
+
+MIN_CONFIDENCE +
+ +% +
+
+
+
+ +
+
+

+location_on + GPS DEVICE SETTINGS +

+
+
+IP_ADDRESS + +
+
+PORT + +
+
+
+PROTOCOL_SELECTION +
+ + + +
+
+
+ +
+
+
+

+group + USER MANAGEMENT +

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NAMEEMAILROLESTATUS
COMMANDER_ALPHAalpha@azaion.mil +ADMIN + + +ONLINE +
OPERATOR_72op72@azaion.mil +OPERATOR + + +ONLINE +
ANALYST_KAPPAkappa@azaion.mil +VIEWER + + +OFFLINE +
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/_docs/ui_design/v2/stitch/annotations.html b/_docs/ui_design/v2/stitch/annotations.html new file mode 100644 index 0000000..8f5e9e0 --- /dev/null +++ b/_docs/ui_design/v2/stitch/annotations.html @@ -0,0 +1,389 @@ + + + + + +AZAION - ANNOTATIONS MISSION CONTROL + + + + + + + + + +
+
+
+AZAION +
+FL03 +arrow_drop_down +
+
+ +
+
+
+ + +
+
+OPERATOR_AVATAR +
+
+
+
+ + + +
+ +
+ +
+ +
+
+ + + + +
+Mil. vehicle 87% +
+
+ +
+
+ + + + +
+Truck 94% +
+
+ +
+
+
+
+MilVeh +
+
+ +
+
+
+
+AI DETECTION RUNNING +
+
23/50 FRAMES ANALYZED
+
LOG: SECTOR_B // THREAD_ID_771 // SIG_LOCK
+
+
+ +
+
+
+
+ + + + + +
+
+FRAME STEP: +
+ + + + + +
+
+
+
+ + + + +
+volume_up +
+
+
+
+
+
+ +
+
+00:12 / 02:14 +Press 1–9 to select class · space to pause +
+
+
+
+READY +
+
+
+ +
+
+
+
+
+ + +
+ +
+
+
+
+GPS: +48.2082° N, 16.3738° E +
+
+ALT: +1,240m AMSL +
+
+
+ \ No newline at end of file diff --git a/_docs/ui_design/v2/stitch/dataset_explorer.html b/_docs/ui_design/v2/stitch/dataset_explorer.html new file mode 100644 index 0000000..d047485 --- /dev/null +++ b/_docs/ui_design/v2/stitch/dataset_explorer.html @@ -0,0 +1,369 @@ + + + + + +AZAION OPS - DATASET EXPLORER + + + + + + + + + +
+
+AZAION OPS +
+FL03 +arrow_drop_down +
+ +
+
+
+ +MISSION READY +
+
+notifications +settings +account_circle +
+
+
+
+ + + +
+ +
+
+
+2025-02-09 + +2025-02-11 +
+
+ +FL-03 +arrow_drop_down +
+
+
+NONE +CREATED +EDITED +VALIDATED +
+
+
+ + +
+
+ +
+ + + +
+ +
+
+ +
+
+check +
+
12 MAY · RD
+
+ +
+
+
+ +VALIDATED +
+
+
+ +
+
12 MAY · RD
+
+ +
+
+
+ +CREATED +
+
+
+ +
+
12 MAY · RD
+
+ +
+
+
+ +EDITED +
+
+
+ + +
+
11 MAY · XC
+
+ +
+
+
+ +NONE +
+
+
+ +
+
+check +
+
10 MAY · RD
+
+ +
+
+
+ +VALIDATED +
+
+
+ +
+
+check +
+
09 MAY · RD
+
+ +
+
+
+ +EDITED +
+
+
+ +
+
08 MAY · RD
+
+
+IMG_DATA_007 +
+
+ +
+
+
+
+
SEED
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +
+
+ \ No newline at end of file diff --git a/_docs/ui_design/v2/stitch/flights.html b/_docs/ui_design/v2/stitch/flights.html new file mode 100644 index 0000000..6549792 --- /dev/null +++ b/_docs/ui_design/v2/stitch/flights.html @@ -0,0 +1,338 @@ + + + + + +AZAION Tactical Ops - FLIGHTS + + + + + + + + + +
+
+AZAION +
+FL02 +arrow_drop_down +
+ +
+
+
+SYSTEM_STATUS: OK +
+
+
+settings +notifications +
+OPERATOR_042 +account_circle +
+
+
+
+
+ + + + + +
+
+ + + + + + + + +
+
+START +
+
+
+A2 +
+
+
+A3 +
+
+
+
+
+
+
+
+
+FINISH +
+ +
+
+
+
+LIVE • CONNECTED +
+
+
+LAT +48.856621 +
+
+LON +2.352212 +
+
+SAT +12_ACTIVE +
+
+ALT +45.28M +
+
+
+ +
+ + + +
+ +
+
+
+Original path +
+
+
+Corrected path +
+
+ +
+ + +N + + +
+
+
+ + + \ No newline at end of file diff --git a/_docs/ui_design/v2/stitch/settings.html b/_docs/ui_design/v2/stitch/settings.html new file mode 100644 index 0000000..a8e4754 --- /dev/null +++ b/_docs/ui_design/v2/stitch/settings.html @@ -0,0 +1,346 @@ + + + + + + + + + + + + + + +
+
+AZAION +
+FL02 +arrow_drop_down +
+
+ +
+ +
+ + +
+
+
+
+
+ +
+ +
+
+
+
+
+

01 — TENANT CONFIGURATION

+
+
+ + +USED IN PDF EXPORT HEADERS +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+
+ +
+
+
+
+
+

02 — DIRECTORIES

+
+
+ +
+
+folder + /mnt/nas/azaion/images/ +
+ +
+
+
+MOUNTED (NVME_01) +
+
+
+ +
+
+folder + /mnt/nas/azaion/labels/ +
+ +
+
+
+ +
+
+folder + /var/www/azaion/thumbs/ +
+ +
+
+
+
+ +
+
+
+
+
+
+

03 — AIRCRAFTS

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
MODELTYPEDEFAULT
DJI Mavic 3 +
+
+
+PLANE +
+
+
+ +
Matrice 300 RTK +
+
+
+COPTER +
+
+
+ +
Autel EVO II Dual +
+
+
+COPTER +
+
+
+ +
+
+
+
+ +
+ +
+
+
+
+
+

04 — LANGUAGE

+
+ + +
+
+ +
+
+
+
+
+

05 — SESSION

+
+
+ +
+
+

LAST LOGIN: 2023-10-24 14:32:01

+

IP: 192.168.1.104 (LOCAL)

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src/auth/AuthContext.tsx b/src/auth/AuthContext.tsx index 47dad98..90a64eb 100644 --- a/src/auth/AuthContext.tsx +++ b/src/auth/AuthContext.tsx @@ -16,22 +16,6 @@ export function useAuth() { return useContext(AuthContext) } -// React 18+ StrictMode double-invokes effects in dev (mount → cleanup → mount), -// and the backend rotates the refresh cookie on every successful POST. Two -// concurrent bootstraps would race the rotation and leave the second one with -// a stale cookie. The module-scoped in-flight promise lets the second mount -// await the first's network round-trip instead of duplicating it. Risk 4 in -// AZ-510 spec. -let bootstrapInflight: Promise | null = null - -/** - * Test-only hook to clear the module-scoped in-flight bootstrap promise - * between Vitest tests. Production never imports this — it exists because - * Vitest does not reset module state between tests, so a test that mocks the - * bootstrap to never-resolve would otherwise leak a permanently-pending - * promise that subsequent tests would await forever. Wired into - * `tests/setup.ts` afterEach. Safe-no-op when nothing is in flight. - */ export function __resetBootstrapInflightForTests(): void { bootstrapInflight = null }