Doc restructure: split into design.tex (contract) and journal.tex (record)
design.tex carries the contract — invariants, algorithms, public API, roadmap, the canonical D1..D19 decision index, and a new System Walkthrough (§17) that derives the geometry from first principles for a graduate-engineering reader: vector rotations and the inward-normal formula, the shoelace signed area, segment intersection via Cramer, Sutherland–Hodgman half-plane clipping, the DCEL next-pointer rule with worked square example, per-edge depth-cap ray-cast, corner-parcel construction in two flavors, frontage walk, the shared-vertex registry, propose-then-apply deform, and end-to-end traces for both subdivide_all and apply_road_edit(MoveNode). journal.tex carries the live record — Self-Decisions Checklist at the top, sessions 1-4 rewritten condensed with explanatory Rust snippets, and a Spec Deviations Log indexed chronologically. Makefile builds both PDFs (`make all`, `make design`, `make journal`, `make watch-design`, `make watch-journal`, `make figs`). Old single-file journal content lives in git history per user. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d8d5dd9c17
commit
0a029fe471
37
Makefile
Normal file
37
Makefile
Normal file
@ -0,0 +1,37 @@
|
||||
# Build the design document and the implementation journal.
|
||||
# Requires: pdflatex, latexmk, and rsvg-convert for the figs target.
|
||||
|
||||
DOCS = design journal
|
||||
|
||||
.PHONY: all clean watch figs design journal
|
||||
|
||||
all: design journal
|
||||
|
||||
design: design.pdf
|
||||
|
||||
journal: journal.pdf
|
||||
|
||||
design.pdf: design.tex figures/*.pdf
|
||||
latexmk -pdf -interaction=nonstopmode design.tex
|
||||
|
||||
journal.pdf: journal.tex figures/*.pdf
|
||||
latexmk -pdf -interaction=nonstopmode journal.tex
|
||||
|
||||
# Convert any SVG figures generated by the Rust crate into PDFs for inclusion.
|
||||
figs:
|
||||
@for svg in figures/*.svg; do \
|
||||
[ -f "$$svg" ] || continue; \
|
||||
pdf="$${svg%.svg}.pdf"; \
|
||||
echo "Converting $$svg -> $$pdf"; \
|
||||
rsvg-convert -f pdf -o "$$pdf" "$$svg"; \
|
||||
done
|
||||
|
||||
watch-design:
|
||||
latexmk -pdf -pvc -interaction=nonstopmode design.tex
|
||||
|
||||
watch-journal:
|
||||
latexmk -pdf -pvc -interaction=nonstopmode journal.tex
|
||||
|
||||
clean:
|
||||
latexmk -C
|
||||
rm -f *.aux *.log *.out *.toc *.fls *.fdb_latexmk *.synctex.gz
|
||||
BIN
design.pdf
Normal file
BIN
design.pdf
Normal file
Binary file not shown.
1387
design.tex
Normal file
1387
design.tex
Normal file
File diff suppressed because it is too large
Load Diff
BIN
journal.pdf
BIN
journal.pdf
Binary file not shown.
1774
journal.tex
1774
journal.tex
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user