Add & ingest Dome Cookbook of Geodesic Geometry (Kruschke, 2nd ed., 1975) — Design
Status: Approved 2026-07-01
Source item: TODO-17 (work/TODO.md)
Branch: pluck/todo-17-add-source-ingest-dome-cookbook
Goal
Land the 48-page hand-lettered booklet Dome Cookbook of Geodesic Geometry by
David Kruschke (2nd edition, 1975) as a browsable, searchable buckyverse source.
Use the page images as the faithful artifact plus a local vision-model
transcription for searchability, ingest-by-reference into .wiki/, and compile
a topic article — deferring a full codexis LaTeX/ebook build.
Context & rationale
- The PDF (
.wiki/inbox/DomeCookbookofGeodesicGeometry-Kruschke2ndEdition1975.pdf,
11.7 MB, 48 large-format pages) has no text layer (≈48 chars extractable) —
it is a pure image scan. - Every page is fully hand-lettered: hand-drawn body text, hand-drawn
geometric diagrams, hand-written math notation (overbars, fractions,
subscripts), and trig tables. The ideas are inseparable from the hand-drawn
presentation — the diagrams are the content. - Consequences that shaped the approach:
- tesseract (the
docs-to-wikijs-markdownOCR default) cannot read
hand-lettering or hand-drawn math → would produce garbage. Theadd-source
skill explicitly forbids substituting low-quality OCR. - A full codexis LaTeX rebuild would require re-drawing every geometric
diagram in TikZ (a known hard/lossy problem — a standing codexis roadmap
TODO) plus transcribing hand-math; multi-day effort that would lose the
original hand-drawn diagrams. Not justified now. - Therefore: page-images + vision transcription, reference-only, per the
add-sourceguidance ("ingest reference-only, scan kept browsable, until the
codexis project is complete").
- tesseract (the
Architecture
Follows the add-source ingest-by-reference convention: the source lives as a
directory in the repo root (served by Wiki.js); .wiki/ points at it
rather than copying it. Page images are authoritative; the transcription is a
searchability layer, not a replacement.
Components
1. Root source directory dome_cookbook_of_geodesic_geometry/
dome_cookbook_of_geodesic_geometry/
├── DomeCookbookofGeodesicGeometry-Kruschke2ndEdition1975.pdf # moved from .wiki/inbox/
├── DomeCookbookofGeodesicGeometry.images/
│ ├── page-01.png … page-48.png # grayscale, ~120 DPI
└── index.md # the WikiJS page
- Page images:
pdftoppm -gray -r 120 -png→page-NN.png(zero-padded).
Verify legibility and per-page size; adjust DPI down if files are excessive. - index.md WikiJS frontmatter:
title,description(≤255 chars),
published: true,date,tags,editor: markdown,dateCreated.
Body:# Dome Cookbook of Geodesic Geometry+ byline (David Kruschke, 2nd ed.,
1975)- Overview — what the booklet is (a hands-on geodesic-geometry primer:
plane trig, spherical trig, chord factors, dihedral angles, diagrams &
hints) and why it matters. - About this edition — note that the booklet is entirely hand-drawn, so
the page images are the authoritative artifact; the text below each is a
best-effort transcription for search. - Pages — per page:
## Page N→
→ transcription block (diagram/table-only pages note "Diagram/table — see
image above"). - Footer:
*Source: David Kruschke, Dome Cookbook of Geodesic Geometry, 2nd ed., 1975. Page images rendered with pdftoppm; text transcribed with a local vision model (qwen3-vl:8b).*+File:link to the PDF.
2. Vision transcription
Local Ollama qwen3-vl:8b (already installed; server localhost:11434),
called per page via the direct generate API with the page PNG. Pin the model
warm (keep_alive:-1) before the loop. Prompt for a faithful transcription of
the hand-lettered text and a brief description of any diagram/formula, output as
clean markdown. Loop resumably (skip pages already transcribed). This is the
local-vision OCR the add-source skill references, invoked directly (no codexis
project) because this is a reference-only ingest.
3. Ingest-by-reference
.wiki/raw/repos/dome-cookbook-of-geodesic-geometry.md (hyphen slug), pointer
only, frontmatter type: repos, source: "../../../dome_cookbook_of_geodesic_geometry/",
ingested: 2026-07-01, tags: [fuller-adjacent, geodesic-dome, geometry, how-to, ingest-by-reference], plus the "Cited files" block. Refresh derived
indexes: .wiki/raw/repos/_index.md, .wiki/raw/_index.md (counts), master
.wiki/_index.md (Sources count + Recent Changes), append log.md.
4. Compiled topic article
.wiki/wiki/topics/dome-cookbook-of-geodesic-geometry.md — full article
frontmatter (category: topic, sources: [../../raw/repos/dome-cookbook-of-geodesic-geometry.md],
created/updated/verified: 2026-07-01, tags, aliases, confidence: high,
volatility: cold, compiled-from: sources, summary). Authorship tag
fuller-adjacent (Kruschke is a third-party geodesic how-to author, not
Fuller, not a Fuller biography). Synthesis of the booklet's content and
significance in the dome-building literature. Bidirectional ## See Also
links (add the reciprocal back-link in each target) to the apt subset of:
geodesic-math-and-how-to-use-it, introduction-to-geometry, synergetics,
wizard-of-the-dome. ## Sources block → the raw pointer. Update
wiki/topics/_index.md, wiki/_index.md, master stats, log.md.
5. Verification
/wiki:lint (project-local .wiki/) → 0 broken links, 0 dangling sources,
indexes consistent. This is the pluck canonical verification command. Also
manually confirm: 48 images exist and are referenced, transcription blocks are
populated, the index.md File: link resolves to the PDF beside it.
6. Follow-up
Record a deferred item (DEFERRED.md) for the eventual full codexis book
build (vision-OCR → LaTeX + TikZ diagram reconstruction → deploy --target buckyverse), so the deferral is tracked rather than lost.
Out of scope (YAGNI)
- No tesseract OCR (fails on hand-lettering).
- No codexis project init or LaTeX/ebook build now (deferred, tracked).
- No publishing to live buckyverse.org in this task — pluck ends at squash-merge
- lint;
/publish-to-buckyverse dome_cookbook_of_geodesic_geometryis a
separate explicit step to run afterward.
- lint;
Testing / verification
Content task — no unit tests. Success = 48 page images present & referenced,
transcriptions populated, all links resolve, /wiki:lint clean, indexes
consistent.