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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Description
Allow a user who already has a completed Stage 2 artefact (
.ti2and 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
.ti2files in addition to.ti1files..ti2file, automatically extract thebasenameandcwd, skip Stages 1 & 2, and unlock/activate Stage 3..ti3must be present to advance to Stage 4).2. Backend
.ti2Parsing.ti2header and extract necessary metadata, such as:INSTRUMENT(if present)NUMBER_OF_SETS(total patch count)chartreadUI..ti2file is missing, incomplete, or corrupted.3. Frontend UI (Stage 3)
.ti2metadata to pre-populate the measurement UI (e.g., instrument selection, expected patch count)..ti2path and basic metadata on the Stage 3 screen so the user knows exactly which target they are measuring..ti2is 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
.ti2files..ti2file immediately advances the wizard to Stage 3..ti2basename and relevant metadata..ti3required before profiling)..ti2files produce a clear error message and do not crash the app.Dependencies & Ordering
v0.5.0)