# V1 Blueprint

## Product goal

Create a private clinician-facing website that accepts removable case records, stages an automatic first-pass draft, lets the clinician review and edit high-level design controls, and exports a standardized STL package for downstream review and print handling.

## Clinical scope

### Included first

- Flex partials
- Single-arch draft design at a time
- Separate base and teeth outputs
- Gingival C-clasp dominant workflow
- Clinician review always required

### Later

- Acrylic partials
- Metal-base partials
- Full dentures

## Intake rules

### Required

- Maxillary STL
- Mandibular STL

### Optional but important

- Occlusion / bite scan

### Metadata

- Case label
- Case type
- Patient presentation: male, female, neutral
- Target arch: auto, maxillary, mandibular
- Missing teeth using 1-32 numbering
- Retention strength
- Coverage style
- Prefer gingival C clasps
- Favor esthetics before bulk
- Allow raw mesh cleanup path
- Include monoblock output

## Review workflow

1. Draft
2. Edited
3. Approved
4. Exported

## Output contract

The output contract should stay fixed early so downstream print handling remains predictable.

- `case_base.stl`
  - Gingival base or framework only
- `case_teeth.stl`
  - Connected tooth block when needed by the print workflow
- `case_all_teeth.stl`
  - All teeth only for separate-color print and bonding
- `case_monoblock.stl`
  - Optional combined base + teeth output
- `case_manifest.json`
  - Machine-readable case metadata and review notes

## Sample contract seeded from the uploaded files

The renamed sample files currently behave as the reference output taxonomy.

- `base only maxillary.stl`
  - Maxillary base-only output
- `base only mandibular.stl`
  - Mandibular base-only output
- `Teeth only.stl`
  - Teeth-only output
- `teeth only 2.stl`
  - Teeth-only output
- `base and teeth.stl`
  - Combined base + teeth output
- `base and teethh.stl`
  - Combined base + teeth output

## Confidence logic

The draft generator should always produce a result, but mark low-confidence cases for review rather than blocking them.

### Confidence should increase with

- Both arches uploaded
- Occlusion record uploaded
- Confirmed missing-tooth map
- Resolved target arch
- Mesh-probe agreement with the clinician-confirmed tooth map

### Confidence should decrease with

- Missing occlusion record
- Raw mesh cleanup path enabled
- No confirmed missing-tooth map on partials

## Editing philosophy for v1

Stay parameter-based first.

### Include

- Missing teeth confirmation
- Tooth position
- Tooth size / morphology bias
- Base extension
- Clasp location
- Retention strength
- Regenerate

### Do not include yet

- Freeform mesh sculpting
- Detailed surveying controls
- Low-level blockout editing
- Direct path-of-insertion manipulation UI

## Production geometry service

The deployable static prototype is only the front-end skeleton. A real production system still needs a dedicated service for:

- Mesh cleanup and repair
- Arch normalization and alignment
- Tooth segmentation
- Missing-tooth detection
- Draft tooth setup
- Base generation
- Clasp generation with a C-clasp bias
- Occlusal collision checks
- Output packaging and manifest generation

## Practical next build steps

1. Add private storage for uploaded STLs and generated assets.
2. Expand the current mesh diagnostics into true alignment, segmentation, and missing-tooth detection from anatomy for flex partials.
3. Add a review viewport with overlaid low-confidence regions and mesh-probe suggestions.
4. Add editable parameter controls backed by regeneration endpoints.
5. Add export history and downloadable manifests.
