feat: Resume existing Stage 3 workflow #140

Closed
opened 2026-08-29 17:27:15 +01:00 by gronod · 0 comments
Owner

Description

Allow a user who already has a completed Stage 2 artefact (.ti2 and associated printed targets) to resume the wizard directly at Stage 3 (measurement) without re-running Stages 1 and 2.

Scope & Technical Requirements

1. Wizard State Machine & Navigation

  • Expanded File Selection: Modify the existing "Open Target" button logic in Stage 1 to accept .ti2 files in addition to .ti1 files.
  • State Jump: If a user selects a .ti2 file, automatically extract the basename and cwd, skip Stages 1 & 2, and unlock/activate Stage 3.
  • Artefact Gating: Ensure the existing disk-artefact gating rules remain intact for later stages (e.g., .ti3 must be present to advance to Stage 4).

2. Backend .ti2 Parsing

  • Header Extraction: Implement robust parsing in Rust to read the .ti2 header and extract necessary metadata, such as:
    • INSTRUMENT (if present)
    • NUMBER_OF_SETS (total patch count)
    • Layout geometry (rows/columns) if required by the chartread UI.
  • Error Handling: Provide a clear, non-crashing error message if the selected .ti2 file is missing, incomplete, or corrupted.

3. Frontend UI (Stage 3)

  • Pre-population: Use the extracted .ti2 metadata to pre-populate the measurement UI (e.g., instrument selection, expected patch count).
  • Context Display: Display the source .ti2 path and basic metadata on the Stage 3 screen so the user knows exactly which target they are measuring.
  • Confirmation (Optional): If the .ti2 is loaded via drag-and-drop instead of the file picker, show a brief toast or dialog confirming that the wizard has jumped to Stage 3.

Acceptance Criteria

  • The Stage 1 "Open Target" file picker allows selection of .ti2 files.
  • Selecting a valid .ti2 file immediately advances the wizard to Stage 3.
  • Stage 3 UI correctly displays the loaded .ti2 basename and relevant metadata.
  • Subsequent stages continue to obey the normal artefact gating (e.g., .ti3 required before profiling).
  • Invalid or incomplete .ti2 files produce a clear error message and do not crash the app.

Dependencies & Ordering

  • Milestone: Milestone 10 (v0.5.0)
  • Ordering: Step 2
  • Dependencies: None (builds on existing artefact gating)
### Description Allow a user who already has a completed Stage 2 artefact (`.ti2` and associated printed targets) to resume the wizard directly at Stage 3 (measurement) without re-running Stages 1 and 2. ### Scope & Technical Requirements #### 1. Wizard State Machine & Navigation - **Expanded File Selection**: Modify the existing "Open Target" button logic in Stage 1 to accept `.ti2` files in addition to `.ti1` files. - **State Jump**: If a user selects a `.ti2` file, automatically extract the `basename` and `cwd`, skip Stages 1 & 2, and unlock/activate Stage 3. - **Artefact Gating**: Ensure the existing disk-artefact gating rules remain intact for later stages (e.g., `.ti3` must be present to advance to Stage 4). #### 2. Backend `.ti2` Parsing - **Header Extraction**: Implement robust parsing in Rust to read the `.ti2` header and extract necessary metadata, such as: - `INSTRUMENT` (if present) - `NUMBER_OF_SETS` (total patch count) - Layout geometry (rows/columns) if required by the `chartread` UI. - **Error Handling**: Provide a clear, non-crashing error message if the selected `.ti2` file is missing, incomplete, or corrupted. #### 3. Frontend UI (Stage 3) - **Pre-population**: Use the extracted `.ti2` metadata to pre-populate the measurement UI (e.g., instrument selection, expected patch count). - **Context Display**: Display the source `.ti2` path and basic metadata on the Stage 3 screen so the user knows exactly which target they are measuring. - **Confirmation (Optional)**: If the `.ti2` is loaded via drag-and-drop instead of the file picker, show a brief toast or dialog confirming that the wizard has jumped to Stage 3. ### Acceptance Criteria - [ ] The Stage 1 "Open Target" file picker allows selection of `.ti2` files. - [ ] Selecting a valid `.ti2` file immediately advances the wizard to Stage 3. - [ ] Stage 3 UI correctly displays the loaded `.ti2` basename and relevant metadata. - [ ] Subsequent stages continue to obey the normal artefact gating (e.g., `.ti3` required before profiling). - [ ] Invalid or incomplete `.ti2` files produce a clear error message and do not crash the app. ### Dependencies & Ordering - **Milestone**: Milestone 10 (`v0.5.0`) - **Ordering**: Step 2 - **Dependencies**: None (builds on existing artefact gating)
gronod added this to the Milestone 10: Production Ready Features (v0.6.0) milestone 2026-08-29 17:27:15 +01:00
gronod added the Kind/Feature
Reviewed
Confirmed
1
labels 2026-08-29 17:27:15 +01:00
Sign in to join this conversation.