# Takeoff practice resources

Synthetic drawings for practice, dated October 16, 2026. No customer project data.

## Reference inputs

The `*-practice.pdf`, `*-reference.csv`, and `*-reference.pdf` files are generated by `scripts/generate-takeoff-samples.py`. They contain source geometry and independent arithmetic, rather than app measurements. `manifest.json` records their hashes and expected quantities.

- Electrical: 8 Type A fixtures, 4 Type B fixtures, and a two-leg route of 30 + 12 = 42 ft. Rises, drops, slack, fittings, design and code compliance are excluded.
- Flooring: 240 − 12 + 180 = 408 sq ft net. The first room's exclusion touches the top and right edges. Trace its six-point net boundary for 228 sq ft, rather than using an interior cutout. Waste and purchasing calculations are separate.

## Desktop outputs

Verified October 16, 2026 in the installed PolyPDF **1.6.6 build 38 on macOS**, using Free mode. These files do not claim validation of the current shipping version or Windows.

- `flooring-mac-measured.pdf`: two app-created area annotations, 228 and 180 sq ft. Saved, closed, and reopened with a worksheet total of 408 sq ft.
- `flooring-mac-worksheet.csv` and `flooring-mac-summary.pdf`: actual worksheet exports totaling 408 sq ft.
- `electrical-mac-route.pdf`: app-created path through the two route legs, 42 ft. Saved, closed, and reopened with the same quantity.
- `electrical-mac-route.csv` and `electrical-mac-route-summary.pdf`: actual route-only worksheet exports. They do not contain or verify the 12-fixture count. That test encountered the Free three-measurement limit.

Measured PDFs and CSVs are byte-identical app outputs. Summary PDFs preserve the visible exported content and quantities; their local-machine source links were changed to the public sample URLs. `desktop-evidence.json` records original and published hashes and these transformations. “Open Source” links depend on the public samples being published and on the reader's link support.

The flooring summary PDF abbreviates the formula to fit its column; the CSV preserves the full `SUM(228 + 180)` expression.

These examples verify their stated geometry and output only. Review every quantity, scale, unit, scope boundary, and recipient handoff for your actual project.
