Architecture diagrams
Interactive diagrams of how Cropwright is built and how it talks to the OpenProcessor API. Each one is generated from a hand-authored spec under docs-site/architecture-diagrams/specs/ (regenerate with scripts/generate-architecture-diagrams.sh); when the code a diagram describes changes, fix the spec.
System
- System Overview
- Frontend Module Map
- Projects and Config Store
The full stack in one diagram: browser, the Cropwright nginx serving the static bundle and proxying one API prefix, the OpenProcessor API, and behind it OpenSearch, Triton, the VLM, the trainer/evaluator and the segmenter. Start here.
Routes, controllers, runes stores, the slot registry (served region profile + tier-2 annotation profiles), api.ts, and the contract tests that check it against the backend's vendored wire format.
The URL as the active project, project-scoped versus global calls, revisioned per-project config (packs, profiles, active VLM, keymap), the shared VLM registry with host-held secrets, and combine and model sharing.
Workflows
- Labeling Loop
- Ingest Upload Run
- Edit, Test and Activate
Ingest, then clustering/VLM assist, clusters, review, classes, export + holdout, train, bake-off, promote, and probe predictions feeding back into review.
The browser upload run controller: path_lookup prefilter, chunk planning, bounded-concurrency upload, 413/422/503 handling, the region-drain gate, and the clustering handoff.
Editing a prompt pack, region profile or VLM endpoint: server-side validation, a revisioned save, test on a crop with an optional VLM pick, then confirmed activation with the external-VLM acknowledgement and the reload notice.
Sequences
- Review Assign + Undo
A /review keypress, the optimistic queue update, the API write (with rollback on failure), and the Z undo round trip through undoStore.