Skip to content

book: figures — measured plots for overdrive, signal-flow diagrams for every kernel#23

Merged
tap merged 4 commits into
mainfrom
claude/attachment-review-cft2qc
Jul 24, 2026
Merged

book: figures — measured plots for overdrive, signal-flow diagrams for every kernel#23
tap merged 4 commits into
mainfrom
claude/attachment-review-cft2qc

Conversation

@tap

@tap tap commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Summary

Tools on Tap had no images anywhere. This PR gives it its visual layer, in two parts:

Measured figures for the overdrive chapters (the precedent-setter):

  • book/figures/overdrive.py drives the shipping kernel through the C ABI (the notebooks' ctypes bridge) and renders six SVGs: the gain-tilt-vs-drive headline, the never-flat peak transfer, odd-only vs even-series spectra across asymmetry, the body voicing curves, the 1×-vs-4× alias floor, and shape() against its rejected alternatives. Regenerate with python3 book/figures/overdrive.py after any kernel behavior change — the figures obey the book's measured-not-remembered rule.
  • Plus a hand-authored signal-flow diagram of the feedback clipper.

Signal-flow diagrams for every kernel (all 14 from book/PLAN-figures.md wave 1), each embedded in its user-facing chapter and machine deep-dive:

  • tb303 voice (the accent/C13 couplings drawn — "the couplings are the instrument" as a picture), pitchaccum's upstream-feedback loop contrasted with the ordinary patch that never climbs, the comb voice ring, the diode diffusion line with its charge-in/stolen-back edges, the ladder's four-tanh loop with the Barkhausen annotation, the SVF TPT core, the VCO's one-phase fan-out, the autowah's detector chain around the borrowed svf_filter, conv's frequency-domain delay line with overlap-save framing, the vocoder's two banks meeting at the multiplier array, the shared STFT scaffold, tune's per-hop brain over the per-sample corrector, seq's time-as-a-function-of-phase with a polymeter panel, and the 808's bridged-T drawn as a circuit with the kick's leg modulation.

book/PLAN-figures.md — the full-book survey behind this work, per the PLAN-*.md drafting-record convention: every chapter graded for figure opportunities and sequenced into four waves. This PR is wave 1 plus the overdrive figure set; waves 2–4 (measured figures for the nine bridge-reachable chapters, pure-math derivation plots, and the capi bindings that unblock the rest) are follow-up work.

Conventions established

  • One generation script per chapter under book/figures/, images under src/images/<object>/.
  • House diagram style: grey main path, red/amber emphasis paths, dashed rate regions, captions inside the figure.
  • House palette with the amber snapped #efb118 → #b8890f so the categorical triple passes lightness-band and CVD-separation checks on a light page; every multi-series figure carries direct labels so identity never rides on color alone.
  • Every figure was rasterized and visually inspected before commit (the pass caught real layout defects in seven of them); box contents and constants match the kernel headers and chapter text.

Testing

  • All embedded image references resolve (checked against create-missing = false).
  • The figure script executes against the current kernel; plots match the executed overdrive.ipynb measurements.
  • No DSP, test, or tooling changes — book/ only.

🤖 Generated with Claude Code

https://claude.ai/code/session_01S3twSGfwUK8jnUhp5Qx6wx


Generated by Claude Code

claude added 4 commits July 24, 2026 14:50
The overdrive chapters (and the book as a whole) were text-only. Seven
figures now carry the chapters' claims visually, under the book's own
rule — measured, not remembered:

- book/figures/overdrive.py drives the shipping kernel through the C ABI
  (the notebooks' ctypes bridge) and renders six SVGs into
  book/src/images/overdrive/: the gain-tilt-vs-drive headline, the
  never-flat peak transfer, odd-only vs even-series spectra across
  asymmetry, the body voicing curves, the 1x-vs-4x alias floor, and the
  shape() curve against its rejected alternatives (tanh, hard clip).
  Regenerate with python3 book/figures/overdrive.py after any kernel
  behavior change.
- block-diagram.svg (hand-authored) puts the whole kernel on one line for
  the machine chapter: main path, the negative-LF-feedback loop, the
  unity clean path, and the oversampled region.
- Colors are the house notebook hues with the amber snapped darker
  (#efb118 -> #b8890f) so the triple passes lightness-band and CVD
  separation checks on a light page; every multi-series figure carries
  direct labels so identity never rides on color alone.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S3twSGfwUK8jnUhp5Qx6wx
Every chapter surveyed (14 user-facing + 13 machine) for figure
opportunities, graded HIGH/MED/LOW against the chapters' actual claims,
and sequenced into four waves: hand-authored signal-flow diagrams (no
dependencies, 14 candidates ranked), measured figures with the C-ABI
bridge already wired (9 chapters ready today), pure-math derivation
plots for the machine chapters, and the work blocked on new capi
bindings (comb, pitchaccum, vocoder, nr/spectra, the non-kick 808
voices — each of which would also unlock a future verification
notebook). Follows the overdrive figure set as precedent and the
PLAN-*.md drafting-record convention.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S3twSGfwUK8jnUhp5Qx6wx
…ve 1)

Hand-authored SVGs in the overdrive diagram style, embedded in both the
user-facing and machine chapters they serve:

- tb303 voice (acid.md + machine/tb303.md): the couplings drawn — the
  accent bus fanning to MEG clock, C13 charge, and VCA; the C13 sweep
  capacitor on the cutoff sum; slide as an RC on the pitch CV. 'The
  couplings are the instrument,' as a picture.
- pitchaccum loop (pitchaccum.md + machine/pitchaccum.md): a two-panel
  contrast — feedback re-entering upstream of the transposer taps
  (+7 -> +14 -> +21) against the ordinary shifter-in-feedback patch
  whose staircase never climbs.
- comb voice ring (fivecomb.md + machine/comb.md): the plucked-string
  loop in file order — Hermite read, loop lowpass, normalized DC
  blocker, warp allpass, ring-time-derived fb — with the d/2 pickup
  tap branched to the output subtractor.
- diode diffusion line (machine/diode.md): four coupled capacitor
  nodes with charge-in/stolen-back arrows on every junction, the
  halved top cap, and the 150 Hz feedback high-pass that keeps a
  stock 303 from singing.

Every diagram rasterized and visually inspected; box contents and
constants match the kernel headers and chapter text.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S3twSGfwUK8jnUhp5Qx6wx
…gures)

Ten hand-authored SVGs in the house diagram style, completing wave 1 of
book/PLAN-figures.md. Each is embedded in its user-facing chapter and
its machine deep-dive (twelve chapters total):

- ladder: four tanh one-poles in the k = 4·resonance loop, the comp
  bargain, and the Xpander pole-mix taps
- svf: the two-integrator TPT/ZDF core with the downstream output mix
  ('morph is three multiplies downstream')
- vco: one master phase fanning to four readings, polyBLEP corrections,
  and the per-seed analog injections
- autowah: the detector chain and sweep law around the boxed, borrowed
  svf_filter member
- conv: overlap-save framing and the frequency-domain delay line with
  the double-buffered partition spectra
- vocoder: two identical 24-band banks meeting at the multiplier array
- spectral: the shared STFT scaffold with the pluggable op (embedded in
  nr.md and machine/spectral.md)
- tune: the per-hop brain over the per-sample corrector, with the
  backend seam
- seq: time as a function of phase, plus the polymeter tick panel
- tr808: the bridged-T resonator drawn as a circuit, with the kick's
  per-sample leg modulation and the eight-voice fan-out

Every diagram rasterized and visually inspected (three needed layout
rebuilds); constants and box contents match the kernel headers and
chapter text.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S3twSGfwUK8jnUhp5Qx6wx
@tap
tap merged commit 04254fe into main Jul 24, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants