T-F — Schedule viewer: Gantt and map components, read-only plan board P02, /dev/fixtures route #21

Open
opened 2026-09-11 09:02:12 +00:00 by bart · 0 comments
Collaborator

Parent

Row T-F in docs/12-implementation-plan.md (branch, owned paths and doc section are defined there).

What to build

A planner opens P02 and sees a plan version as a Gantt (crews × time) and a map, built from API-independent view models. A /dev/fixtures route renders checked-in fixture JSON so the board is demoable before the plan API is live.

Acceptance criteria

  • /dev/fixtures renders a fixture plan on Gantt and map
  • Vitest covers toScheduleRows() mapping of DTOs to view models
  • Gantt takes ScheduleRow[]/ScheduleItem[], map takes GeoJSON — no store or HTTP inside shared/
  • P02 version and selection slices work against the plans stubs; times in Europe/Amsterdam with date
  • nl/en scope parity for the plan feature; docs/06 P02 read-only parts updated

Blocked by

  • #13 — Web shared UI: Optimus wrappers, pipes, view-model types, generic admin CRUD, store slice pattern
  • #15 — API surface: every DTO and endpoint from docs/09-api.md stubbed, openapi.json committed
## Parent Row **T-F** in `docs/12-implementation-plan.md` (branch, owned paths and doc section are defined there). ## What to build A planner opens P02 and sees a plan version as a Gantt (crews × time) and a map, built from API-independent view models. A `/dev/fixtures` route renders checked-in fixture JSON so the board is demoable before the plan API is live. ## Acceptance criteria - [ ] `/dev/fixtures` renders a fixture plan on Gantt and map - [ ] Vitest covers `toScheduleRows()` mapping of DTOs to view models - [ ] Gantt takes `ScheduleRow[]`/`ScheduleItem[]`, map takes GeoJSON — no store or HTTP inside `shared/` - [ ] P02 version and selection slices work against the plans stubs; times in Europe/Amsterdam with date - [ ] `nl`/`en` scope parity for the plan feature; docs/06 P02 read-only parts updated ## Blocked by - #13 — Web shared UI: Optimus wrappers, pipes, view-model types, generic admin CRUD, store slice pattern - #15 — API surface: every DTO and endpoint from docs/09-api.md stubbed, openapi.json committed
Sign in to join this conversation.
No labels
ready-for-agent
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
patrick/Polaris#21
No description provided.