Collection of engineering calculation projects (Python + Typst), each with input, calc script, tests, results, and generated PDF where available.
19 lines
1.8 KiB
Markdown
19 lines
1.8 KiB
Markdown
# Tasks: Concentric Footing Analysis
|
|
|
|
Ordered, dependency-ordered plan. Each task has a spec in `tasks/`: `001_calc_and_input.md`, `002_numerical_tests.md`, `003_typst_sheet.md`, `004_docs_refresh.md`, `005_review.md`.
|
|
|
|
| # | Task | Files | Status | Depends on |
|
|
|---|---|---|---|---|
|
|
| 001 | Numerical core: `calc.py` + `input.yaml` + `results.json` | calcs/concentric-footing/calc.py, calcs/concentric-footing/input.yaml, calcs/concentric-footing/results.json | DONE | — |
|
|
| 002 | Numerical lock: `test_concentric_footing.py` (compute() only) | calcs/concentric-footing/test_concentric_footing.py | DONE | 001 |
|
|
| 003 | Presentation: `footing.typ` + compile + Typst metadata tests | calcs/concentric-footing/footing.typ, calcs/concentric-footing/generated/footing.pdf, calcs/concentric-footing/test_concentric_footing.py (append) | DONE | 001, 002 |
|
|
| 004 | Documentation refresh: `README.md` + `codemap.md` | README.md (at worksheets/calcs/wood-joist/README.md and/or worksheets root), codemap.md | DONE | 003 |
|
|
| 005 | Reviewer pass on the whole calculation | review notes only | DONE | 004 |
|
|
|
|
## Notes
|
|
|
|
- Task 001 is the numerical single source of truth; it pins every `results.json` value name and the exact ACI 318-19 equations. Tasks 002-005 depend on that contract.
|
|
- The Typst metadata tests (soil/structural reconciliation) live with Task 003 because they need `footing.typ` to exist; Task 002 is purely numerical to keep the dependency graph acyclic.
|
|
- `generated/` may not exist yet; Task 003 creates it before compiling.
|
|
- All tasks use hybrid Pint pattern: quoted quantity strings in YAML, `quantity()` conversion in Python, values+checks contract, presentation-only Typst.
|
|
- Load determination is derived in Typst (`DLr`, `LLr`, `Br`, `Lr`, `Ar`, column weight) and emitted as `<concentric-footing-loads>`; Python reads checked `Ps`/`Pu`. The suite reconciles them.
|