Access token

Paste your GitHub access token to enable saving. It stays inside this file only. The destination repository is preset and not shown.

Point Designs Partial-Hand Workflow — Scope Map (v0.2)

A stage-by-stage decomposition of the Point Designs partial-hand workflow, mapped to the Spentys building blocks that deliver each step. Shared for the scope walkthrough.

Purpose Phases Stages Audience Pairs with
Module-to-stage mapping 2 · Diagnostic + Definitive 10 parent · 29 sub-process Point Designs × Spentys Proposal v0.5 §03

§ 00 · How to read this map

Each phase contains parent stages; each stage decomposes into child sub-processes. Every sub-process is described across four layers — what the user does, what the system computes, what data moves through (in → out), and which Spentys module owns it. The module column is a draft assignment (“draft — confirm” = best-guess, to confirm at the walkthrough); the status tag flags whether that module exists today, needs adapting, or is net-new build.

Note the S1 fork: a mold scan with liner skips S2 and S3 entirely and enters at S4, because the liner volume is already present on the scan.

Phase mapping vs discovery. Discovery framed a four-stage roadmap (Phase 1, 1.5, 2, 3); this map and proposal v0.5 consolidate to two delivered phases — discovery’s Phase 1.5 (alignment-transfer replication) is absorbed into Phase 2 (S8a, the physical-aligner-scan path), and Phase 3 (full automation) is the unpriced future-perspective track. The two-phase framing is a deliberate consolidation, not a scope reduction.

Legend. StatusExisting (reusable as-is) · Adapt (existing module, modified) · New build (net-new). ModuleConfirmed vs Draft — to confirm. Datain → (input) · → out (output).


Phase 1 — Diagnostic Device Workflow

Months 0–6 · internal MVP. Flow: S1 Import scan → S2 Modify (mold path) → S3 Liner volume → S4 Build frame → S5 Export → S6 OMS connection.

S1 · Import scan

Ingest the case — two scan types, and the fork that follows from them.

The fork starts here. A mold scan takes the full path: S2 modify → S3 liner volume → S4 frame. A mold scan with liner skips S2 and S3 — the liner volume is already physically present on the scan — and enters directly at S4, where only the attachment points need defining.

Sub-process User action System operation Data I/O Module · status
1.1 Case intake from OMS Designer opens the case from the OMS order record; web editor launches in context. Order metadata, patient ID, and case type loaded; editor session bound to the order. OMS order record → editor session OMS · order intake — Existing
1.2 Upload / fetch scan mesh Designer uploads the scan, or it arrives attached to the order (customer-uploaded). Mesh file loaded into the 3D environment as the raw scan. Watertighting handled later, at 1.4. .stl / .ply scan → loaded raw mesh Web Editor · mesh loader — Adapt (draft: confirm parser coverage)
1.3 Classify scan type Designer selects scan type: mold scan, or mold scan with liner. Sets the fork — mold scan routes to S2; mold-scan-with-liner routes directly to S4. scan-type flag → pipeline branch state Web Editor · workflow router — New build (draft: new fork toggle)
1.4 Clean scan Designer trims scan noise and table artifacts; confirms the working surface. Isolated-island removal, non-manifold repair, hole-filling; watertight mesh prepared. loaded raw mesh → clean mesh Web Editor · mesh cleanup — Existing (draft: reuse cleanup / heal toolset)
1.5 Add landmarks Designer places landmarks. A filter pre-sets these by injection type; when the liner is also scanned, additional landmarks are placed. Landmark set drives automatic orientation — a rigid transformation aligning the mesh to canonical axes (front, thumb side, etc.); no mesh deformation. Extra liner-scan landmarks indicate where the liner sits. landmark input + injection filter → oriented mesh + landmark set Web Editor · landmark + auto-orient — New build (draft: confirm injection-filter logic)

S2 · Modify

Guided, region-based modification — replaces the physical plaster-modification step.

Only runs on the mold-scan path. A mold-scan-with-liner skips this stage. This is the guided workflow: rather than separate reduce / smooth / raise tools, the editor walks the user region by region — each region is enclosed by a trimline and carries a region-specific automated edit, with granular control exposed for tuning.

Sub-process User action System operation Data I/O Module · status
2.1 Guided region marking Guided by the editor, the designer encloses each region with a trimline; the enclosed area receives a region-specific reduction / smoothing. Each trimline-enclosed region triggers its automated edit (preset reduction + smoothing); granular parameters exposed per region. trimline input per region → region set + applied edits Web Editor · guided region tool — New build (draft: trimline marking + region-automated edit)

S3 · Liner volume

Define the liner extent and generate the liner volume placeholder.

The liner is a volumetric placeholder — design specifics come in a later stage (S7). The zipper (closure for the liner) is defined here; the strap (closure for the frame) comes in S4. A mold-scan-with-liner skips this stage: its liner volume is already on the scan.

Sub-process User action System operation Data I/O Module · status
3.1 Define liner extent Guided trimline marking (as in S2) defines the liner extent — and includes attachment landmarks (points) and the zipper trimline. Captures the liner surface patch with its closed boundary, attachment points, and zipper trim curve. trimline + landmark input → liner extent + zipper trim Web Editor · guided region tool — New build (draft: shared with 2.1)
3.2 Generate liner volume Designer triggers generation of the liner volume the frame will be built on. Liner extent resolved into a volumetric solid — the placeholder volume passed to S4. liner extent → liner volume solid Parametric · volume generator — New build (draft: region-to-volume build)

S4 · Build frame

Generate the frame on top of the liner volume — the diagnostic device.

Both paths meet here. The frame sits on top of the liner volume — like a socket over a liner. A mold-scan-with-liner enters directly: its liner volume is the scan itself, so it needs only attachment points defined. The frame carries the strap (the zipper belongs to the liner, S3). The frame device is the Phase 1 output.

Sub-process User action System operation Data I/O Module · status
4.1 Set boundary trimlines Designer sets the frame boundary trimlines on the liner volume. (Attachment landmarks are already placed — 1.5 or 3.1.) Uses the existing trim-line tool to define the frame’s extent over the liner volume — no new tooling. trimline input → frame boundary Web Editor · guided region tool — Adapt (draft: existing trim-line tool, shared with 2.1 / 3.1)
4.2 Populate device geometry Designer reviews / adjusts the frame feature set: attachment points, screw connectors, strap perforation location, strap offset. Frame features placed against the boundary — attachment points, screw connectors, strap perforations, strap offset distance. frame boundary + landmarks → populated feature set Parametric · frame feature populate — New build (draft: attachment + screw-connector + strap features; matches proposal §03 Phase-1 feature list)
4.3 Generate frame device Designer triggers frame generation and reviews the result. Parametric frame solid built on the liner volume with the populated features — the diagnostic device. liner volume + feature set → frame device solid Parametric · frame generator — Adapt (draft: core parametric build)

S5 · Export

Produce manufacturing-ready geometry for the diagnostic device.

Output: PA12 rigid frame, STL / print-ready geometry — the Phase-1 diagnostic-device output.

Sub-process User action System operation Data I/O Module · status
5.1 Assemble output set Designer selects which components to export (liner-region shell, frame, strap). Components collected; per-part material/process tags attached. component selection → tagged output set Web Editor · export manager — Adapt (draft: confirm part tagging)
5.2 Mesh prep for print Designer confirms print prep (wall thickness, watertightness). Final printing check — watertight check, mesh healed. PA12 shells only (TPU liners not confirmed). tagged output set → print-ready mesh Mesh pipeline · print prep — Existing (draft: reuse boolean / heal toolset)
5.3 Generate export files Designer exports; files attach to the case. STL (and GLB for preview) written; checksums recorded. print-ready mesh → .stl / .glb files Export pipeline · STL/GLB — Existing (draft: confirm GLB output path)

S6 · OMS connection

Write the design output back into the order record.

Closes the Phase 1 loop: the design output becomes part of the OMS order. Web editor lives inside the OMS; visibility in the order form itself is configurable.

Sub-process User action System operation Data I/O Module · status
6.1 Write design to order Designer commits the finished design back to the case. Output files, op stack, and parameters attached to the OMS order record. design output set → updated OMS order OMS · order write-back — Adapt (draft: confirm attachment schema)
6.2 Update order state Designer advances the order to the next fabrication state. Order status transitions; downstream fabrication notified. state transition → order status event OMS · order state machine — Existing
6.3 Order-form visibility Admin configures whether the web editor surfaces directly in the order form. Feature flag toggles editor embed in the order-form view. config flag → order-form layout OMS · order-form config — New build (draft: new visibility toggle)

Phase 2 — Definitive Device & Alignment

Months 6–12 · customer-facing. Flow: S7 Build liner device → S8 Finger placement → S9 Align + compute → S10 Definitive output.

S7 · Build liner device

Same logic as S3 — but generates the actual liner device, not a placeholder volume.

S7 reuses the S3 region logic, but instead of a placeholder volume it generates the actual liner device geometry. It runs only on the hand-scan path — a hand-scan-with-liner already carries the liner shape and skips straight to S9. The computed S7 model and the hand-scan-with-liner both land in S9. This is where the printable (TPU) liner is produced — its material and closure are confirmed by PD before this stage (the Phase-1 frame is PA12; see S5 and the 2026-06-04 material decision).

Sub-process User action System operation Data I/O Module · status
7.1 Define liner extent Guided trimline marking (as in S3) defines the liner extent on the hand scan, with attachment landmarks. Captures the liner surface patch, closed boundary, and attachment points. trimline + landmark input → liner extent Web Editor · guided region tool — New build (draft: shared with 2.1 / 3.1 / 4.1)
7.2 Generate liner device Designer triggers generation of the actual liner device. Liner extent resolved into the real liner device geometry — not a placeholder. The computed model passes to S9. liner extent + params → liner device model Parametric · device generator — New build (draft: extends 3.2 volume generator to full device)

S8 · Finger placement

Establish finger positions — from a physical-aligner scan, or from manual landmarks.

S8 has two entry doors, both converging into S9. S8a — the client physically places aligners on the printed model and scans it; the algorithm recognises the aligners and uses them as placement identifiers. S8b — no physical fitting; the client places landmarks on the liner where fingers go, at a set orientation. Fingers are a low-resolution representation of the PD fingers — PD delivers the geometry, Spentys decimates it for fast realtime alignment. The low-mesh fingers still carry the data needed for the adapter-fit calculations.

PD answer (2026-06-04, Q1). The current arrow alignment is done through Freeform’s built-in “registration” feature (auto-aligns known geometries) and is likely locked inside Freeform. PD has confirmed a different marker system (e.g. QR-style) is acceptable — so 8a.2 can build a simpler, more detectable marker rather than reverse-engineering the arrows. This softens the script-reuse dependency on PD.

Sub-process User action System operation Data I/O Module · status
8.0 Load finger library Designer selects the PD finger set for the case (full finger, full thumb, Point Pivot Plus). Low-resolution finger meshes loaded — decimated from PD geometry, carrying adapter-fit data. PD finger geometry → low-mesh finger set Alignment · finger library — New build (draft: PD delivers geometry, Spentys decimates)
8a.1 Load physical-aligner scan S8a entry. Designer loads the scan of the printed model with aligners physically placed on it. Scan registered against the diagnostic surface; aligners isolated in the mesh. aligner-scan mesh → registered scan Alignment · scan registration — Adapt (draft: ICP / registration toolset)
8a.2 Recognise aligners S8a entry. Designer confirms the detected aligner positions. Algorithm recognises the physical aligners and derives finger placement + orientation from them — they act as placement identifiers. registered scan → finger placement transforms Alignment · aligner recognition — New build (draft: core S8a algorithm)
8b.1 Place finger landmarks S8b entry. Client places landmarks on the liner where the fingers will be fitted. Landmarks resolved into finger placement at a set orientation — no physical fitting required. landmark input on liner → finger placement transforms Alignment · landmark placement — New build (draft: S8b path, set-orientation rule)
8b.2 Seat fingers on placement S8b entry. Designer reviews the seated low-mesh fingers before finetuning. Low-mesh fingers instanced onto the placement transforms; ready for S9 finetuning. placement transforms + finger set → seated finger scene Alignment · finger seating — New build (draft: shared seating step for both entries)

S9 · Align + compute model

Finetune finger alignment, then compute the printable definitive model.

Both S8 entry doors converge here. The rescanned arrow-scan is fitted onto the original designed scan — the new scan is the working surface, the original is fitted to it (avoids redoing work). In Phase 2 the rescan drives finger-alignment transfer only, plus manual trimline re-projection: because the practitioner may have manually trimmed the socket or liner, trim lines are re-projected onto the new mesh and, if they have moved, the user nudges them manually (no automatic re-cutting in year one). Once fitted, the user can show/hide the rescan to adjust trim lines, then gets movement control — fingers slide along the diagnostic surface to finetune the fitted position. The final step computes the model — booleans, build-ups, added geometry — into a printable 3D file, on the existing geometric backend.

PD answer (2026-06-04, Q5) — scope boundary [monitor closely]. PD confirmed the rescan is not purely an alignment transfer: in some cases trimline and volume changes are physically made to the diagnostic before scanning, and more often changes are requested but not implemented (noted as drawings on the diagnostic or in the returned diagnostic checklist) and applied when the definitive socket is made. Decision (Michael, 2026-06-04): Phase 2 handles finger-alignment transfer and manual trimline nudging only; rescan-driven volume changes / socket re-modification are explicitly out of scope for this engagement and pushed to a future phase after Phase 2. This is the most likely Phase-2 scope-creep vector and needs close monitoring.

Sub-process User action System operation Data I/O Module · status
9.1 Render fingers for alignment Designer / clinician views the low-mesh fingers seated on the device in the 3D scene. 3D render of device, liner, and low-mesh fingers — shareable with practitioner/patient. Viewable in 3D but fingers are not posable (no open/close articulation — that is a future phase). seated finger scene → 3D render Web Editor · 3D viewport — Adapt (draft: low-mesh render)
9.2 Finetune finger position Designer slides each finger along the diagnostic surface to finetune the fitted position. Movement constrained to the diagnostic surface (the original, aligned with the rescanned version); transforms updated live. movement input → finetuned transforms Alignment · movement control — New build (draft: surface-constrained manipulation)
9.3 Compute definitive model Designer triggers the model computation once alignment is locked. Booleans, build-ups, and added geometry resolve the fingers, adapters, and device into a single printable 3D file — on the existing geometric backend. finetuned transforms + device → printable definitive model Mesh pipeline · boolean / build-up — Existing (draft: existing geometric backend)

S10 · Definitive output

Validate components in the OMS and close the order.

Closes the definitive-device loop inside the OMS — all output files loaded and rendered in 3D for a clear review before the order is closed.

Sub-process User action System operation Data I/O Module · status
10.1 Validate components in OMS Designer reviews all output files for the case, rendered in 3D inside the OMS. All component files loaded into the order record and composited in a 3D view for validation. printable definitive model → validated component set OMS · 3D component review — New build (draft: in-OMS 3D render)
10.2 Close order Designer commits the validated output and closes the case. Files attached; order advanced to the definitive-fabrication state. validated component set → closed OMS order OMS · order write-back — Adapt (draft: shared with 6.1 / 6.2)

Point Designs partial-hand workflow — scope map v0.2. Pairs with proposal v0.5 §03.