NPM Package/docs/workflows/takeoff/verification
Verification Checklist
Verify the NPM ribbon, calibration sidebar, scale library, state machine, and recovery behavior before release.
Test with a drawing that has no active scale, a drawing with a known scale, and a reference length suitable for calibration.
- Header, ribbon, sidebar toggle, active-scale card, and Canvas workspace remain usable at desktop and mobile sizes.
- Opening clears the previous active file index;
opening,opened,failed, andfileInfoupdate host state through documented NPM events. - Ribbon measurement actions stay disabled until a snapshot confirms an active scale.
- Tool activation awaits
viewer.tools.set({ action, enabled: true })and only marks the tool active whenresult.successis true. - The Calibrate tab shows Start, Cancel, picked length, Calculate, candidate, and Apply only in their valid states.
- The floating picking banner appears while calibration is active and disappears after finished or cancel.
- Metric and Imperial calibration fields use the documented correction field names and validation rules.
- Calculator presets create a complete scale with
isSelected: trueand wait for snapshot confirmation. - Scale library rows use full known scale data; deletion affects host-only custom presets, never undocumented Canvas scale deletion.
- Apply uses
viewer.measurements.calibration.apply({ requestId, fileIndex })and tools remain gated until its snapshot confirms an active scale. - Document presets, scale-library rows, tabs, and cancellation are keyboard and screen-reader operable.
- File change, cancel, timeout, and unmount clear request-specific state and listeners.
