From cd49efb9619d13eb3bb6489a565c06c00d3f2009 Mon Sep 17 00:00:00 2001 From: storagebits <48120561+storagebits@users.noreply.github.com> Date: Wed, 4 Nov 2026 21:37:30 -0500 Subject: [PATCH] Pepper: the Curta Type I calculator, taken apart A model of the Curta Type I after the public sources (not affiliated with any maker or rights holder): one stepped drum for the 8 sliders, subtraction by the ten's complement with the drum raised half a row, carries that run column after column during the second half of the turn, the carriage lifted and turned to multiply, the clearing ring. One input, the crank angle and the plan's discrete state; the film multiplies 1 234 by 56 and takes one turn back. check.mjs recomputes the figures; en, fr, es. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BzxZC5aA7ZkPTd3m9Kq4wy --- README.md | 1 + machines/pepper/FILM.md | 29 + machines/pepper/REFERENCES.md | 67 ++ machines/pepper/check.mjs | 125 +++ machines/pepper/curta-film/main.js | 9 + machines/pepper/curta-film/sounds.json | 1 + machines/pepper/curta-film/timeline.json | 1 + machines/pepper/curta-live/main.js | 5 + machines/pepper/curta-shared/console.js | 371 +++++++++ machines/pepper/curta-shared/curta.js | 787 ++++++++++++++++++ machines/pepper/curta-shared/film.js | 233 ++++++ machines/pepper/curta-shared/i18n.js | 149 ++++ machines/pepper/curta-shared/live.js | 452 ++++++++++ machines/pepper/curta-shared/machine.js | 408 +++++++++ .../pepper/curta-shared/make-timeline.mjs | 30 + machines/pepper/curta-shared/schedule.js | 57 ++ machines/pepper/curta-shared/score.py | 102 +++ machines/pepper/curta-shared/stage.js | 175 ++++ machines/pepper/og.png | Bin 0 -> 488124 bytes package.json | 2 +- scripts/machines.mjs | 35 +- 21 files changed, 3035 insertions(+), 4 deletions(-) create mode 100644 machines/pepper/FILM.md create mode 100644 machines/pepper/REFERENCES.md create mode 100644 machines/pepper/check.mjs create mode 100644 machines/pepper/curta-film/main.js create mode 100644 machines/pepper/curta-film/sounds.json create mode 100644 machines/pepper/curta-film/timeline.json create mode 100644 machines/pepper/curta-live/main.js create mode 100644 machines/pepper/curta-shared/console.js create mode 100644 machines/pepper/curta-shared/curta.js create mode 100644 machines/pepper/curta-shared/film.js create mode 100644 machines/pepper/curta-shared/i18n.js create mode 100644 machines/pepper/curta-shared/live.js create mode 100644 machines/pepper/curta-shared/machine.js create mode 100644 machines/pepper/curta-shared/make-timeline.mjs create mode 100644 machines/pepper/curta-shared/schedule.js create mode 100644 machines/pepper/curta-shared/score.py create mode 100644 machines/pepper/curta-shared/stage.js create mode 100644 machines/pepper/og.png diff --git a/README.md b/README.md index b69c711..af402d7 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ the same model that moves the parts. Left alone, each page plays a guided tour; | | The machine | What drives it | Checked by | |---|---|---|---| +| [**Pepper**](machines/pepper) | The Curta Type I, the mechanical calculator that fits in one hand (8 sliders, a 6-digit counter, an 11-digit result): one stepped drum for every column, subtraction by the ten's complement, carries that run column after column, the carriage shifted to multiply, the clearing ring. A model after the public sources; not affiliated with any maker or rights holder. | The cumulative crank angle θ, and the discrete state between turns (sliders, crank up or down, carriage position). A plan of operations (1 234 × 56, one turn back) is laid out once. | `machines/pepper/check.mjs` | | [**Quantum**](machines/quantum) | A photonic quantum computer: a quantum dot emits one photon per laser pulse, fibre delay lines bring them onto a 24-mode chip together, 276 Mach-Zehnder interferometers mix them, superconducting detectors click. A Hong-Ou-Mandel test on one coupler, the Perceval program behind the heaters. Modelled on the public figures of Quandela's Belenos; not affiliated with Quandela. | The physical time τ of the shot, in nanoseconds. The output distribution is computed from the permanents of the chip's unitary. | `machines/quantum/check.mjs` | | [**Spindl**](machines/spindl) | A 3.5-inch 7,200 rpm desktop hard drive (2 platters, 4 heads): spin-up, the heads loading off the ramp, a seek drawn live, the rotational wait, the 3 nm flying height, the emergency park. A model of a typical drive, not a specific product. | The drive time τ. A request queue (LBA → zone, cylinder, head, sector) is planned once. | `machines/spindl/check.mjs` | diff --git a/machines/pepper/FILM.md b/machines/pepper/FILM.md new file mode 100644 index 0000000..038f215 --- /dev/null +++ b/machines/pepper/FILM.md @@ -0,0 +1,29 @@ +# The film + +The tour (38 s) is recorded frame by frame from `machines/pepper/curta-film`, the same code as the page, with the +capture tools of the teardown skill ([whaleyxbt/claude-motion](https://github.com/whaleyxbt/claude-motion)). They need +the skill installed (`SKILL_DIR`), headless Chrome with a real GPU, `ffmpeg` and Python 3. + +```sh +cd machines/pepper +node curta-shared/make-timeline.mjs # curta-film/timeline.json (beats), sounds.json (every tick) +node "$SKILL_DIR/sims/build.mjs" ./curta-film +echo '{"lang":"en"}' > /tmp/en.json # or fr / es +node "$SKILL_DIR/sims/capture.mjs" curta-film --timeline curta-film/timeline.json --config /tmp/en.json --size 1600x900 --dpr 1.2 --stills beats --cols 4 --out teardown-out/beats.png +node "$SKILL_DIR/sims/capture.mjs" curta-film --timeline curta-film/timeline.json --config /tmp/en.json --size 1600x900 --dpr 1.2 --out teardown-out/silent.mp4 +python3 "$SKILL_DIR/run_sfx.py" curta-shared/score.py # teardown-out/pepper-score.wav, mastered +ffmpeg -y -i teardown-out/silent.mp4 -i teardown-out/pepper-score.wav -map 0:v -map 1:a -c:v copy -c:a aac -b:a 256k -shortest -movflags +faststart teardown-out/pepper-en.mp4 +``` + +The share card is frame 0 of the film, scaled and cropped to 1200 × 630, without metadata: + +```sh +node "$SKILL_DIR/sims/capture.mjs" curta-film --config /tmp/en.json --size 1600x900 --dpr 1.2 --still 0 --out teardown-out/frame0.png +ffmpeg -y -i teardown-out/frame0.png -vf "scale=1200:675,crop=1200:630:0:22" -map_metadata -1 og.png +``` + +On macOS, Playwright's headless shell may get no WebGL context; point the capture at Chrome: +`CHROMIUM="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"`. + +`{"lang":"en","clean":true}` records the machine without the sheet. The kit's film build inlines Inter and +JetBrains Mono only; `curta-film/main.js` brings in Instrument Serif itself. diff --git a/machines/pepper/REFERENCES.md b/machines/pepper/REFERENCES.md new file mode 100644 index 0000000..c1fb11d --- /dev/null +++ b/machines/pepper/REFERENCES.md @@ -0,0 +1,67 @@ +# Pepper: references + +Pepper is a model of the Curta Type I mechanical calculator (Curt Herzstark, Contina AG, Mauren, Liechtenstein, from +1948), built from public sources: encyclopedias, a period article, a teaching page and drawings of the internals. It +is not affiliated with any maker or rights holder, and it is not a measured reproduction: where a figure is not +public, the model uses a plausible value, listed below as an estimate. + +The letters match the comments in [`curta-shared/machine.js`](curta-shared/machine.js) (the figures and the +arithmetic) and [`curta-shared/curta.js`](curta-shared/curta.js) (the geometry). + +## Sources + +- **[W]** Wikipedia, [Curta](https://en.wikipedia.org/wiki/Curta). Type I: 8 setting sliders, a 6-digit revolution + counter, an 11-digit result; Type II: 11 / 8 / 15. 230 g (Type I), 360 g (Type II). About 80,000 Type I and + 60,000 Type II made; introduced 1948 (Type II 1954), the last one in 1972 according to Herzstark. German patent + DE 747073 (filed 19 August 1938). Pulling the crank up before turning subtracts; subtraction by nines' complement. +- **[F]** Wikipédia, [Curta](https://fr.wikipedia.org/wiki/Curta). Type 1: 8.5 cm high, 5.3 cm across, 230 g, + ~600 parts; made 1948–1970, ~80,000 Type 1. The drum carries a second set of teeth, interleaved, each row with the + nine's complement of its digit, engaged by moving the drum (and the crank, which is fixed to it) a few millimetres + in height; the first column takes the ten's complement. Carries: a pin on each result wheel presses a carry lever + as the wheel passes 9 → 0, the lever shifts a pinion on the next column's shaft into the path of the single tooth + of the carry bell, fixed to the drum; a cascade propagates during the turn; a reset cam lifts the levers at the + start of the next turn; a ratchet stops the crank turning backwards. Clearing: a top disc with a fold-out lever, + two racks, the carriage lifted to disengage the wheels. The carriage lifts, turns, and drops into a position. +- **[V]** "The Curta", a period article reprinted at [vcalc.net](https://vcalc.net/cu-pe-mag.htm): 19 rows of teeth + on the drum (9 for addition, 9 complementary, 1 row of ten teeth for the first digit's true complement, met by an + extra cog on that column's axle), the handle extended to raise the drum for subtraction, the carry by transfer + pin, slide and pinion against a single tooth above the drum; capacity 8 × 6 × 11; 6 carriage positions. +- **[H]** E. Hamann, [Curta](https://public.beuth-hochschule.de/hamann/curta/index.html), Beuth Hochschule Berlin: + 53 mm across, 105 mm high (with the crank), 230 g; the carriage turns only when lifted; the crank turns clockwise + only; a negative result shows as the complement of the next power of ten (−12 as 99…9988). +- **[M]** Wikimedia Commons, [Category: Curta Internal Details](https://commons.wikimedia.org/wiki/Category:Curta_Internal_Details) + (drawings by Manuco, CC0): the carry lever's actuation and reset cam, carry propagation, the reset racks, the + doubly stepped drum. The geometry of the carry levers, the digit drums lying on their sides and the racks follows + these drawings. +- Photographs used to build the outside (not redistributed here): Wikimedia Commons + [Curta01.JPG](https://commons.wikimedia.org/wiki/File:Curta01.JPG) (a Type I in the hand) and + [Curta Mechanical computer img 1651.jpg](https://commons.wikimedia.org/wiki/File:Curta_Mechanical_computer_img_1651.jpg) + (front view: knurled base and carriage, slotted body with its sliders and rods, the CURTA band, the crank and the + clearing lever). + +Not consulted: the service manuals collected at curta.org (Rick Furr) and Herzstark's patent text, which would +settle the estimates below. + +## Checked in `check.mjs` + +The registers' capacity (99,999,999,999 / 999,999 / 99,999,999), the film's multiplication (1,234 × 56 = 69,104 in +6 + 5 turns, the counter reading 56), the subtraction by the ten's complement (one turn back in position 2 adds +10¹¹ − 12,340, 10 − 4 teeth on the first column, 9 − d on the others, and leaves 56,764 = 1,234 × 46), the carry +cascade of that turn (columns 5 to 11 in order, and one off the top), …999 + 1 = 0 with 10 carries, the timing of the +carries over a turn, and 3,000 random turns against plain arithmetic modulo 10¹¹ and 10⁶. + +## Estimates **[E]** + +| Figure | Value | Why | +|---|---|---| +| Stations around the drum | 16, 22.5° apart: 8 slider shafts, 3 carry-only shafts, 5 parked places | The model needs every result wheel to sit over a shaft or a parked place in all 6 carriage positions; the real machine spreads its 8 sliders over a wider arc than the model's 157°. | +| Columns above the 8th slider in subtraction | take 9 teeth, as a slider set to 0 would | The sources say only that a negative result reads as the complement of 10¹¹ (99…9988); how the mechanism feeds those 9s is not described in what was read. The arithmetic is exact either way. | +| Timing over a turn | teeth from 15°, 10° apart; the carry tooth meets station s at 105° + 22.5°·(s − 1); the counter steps at 338° | Chosen so each station's teeth end before its carry and the carries run in order; the sources say only that carries are sequential, during the turn. | +| Row pitch, drum shift | 2.4 mm, 1.2 mm (half a row) | "A few millimetres" [F]; the shift is half the pitch by construction [V]. | +| Carriage lift | 3.2 mm | Not given. | +| Ratchet teeth | 12 per turn | The ratchet is described [F], not its count; it sets the ratchet ticks of the sound. | +| Counter carries | in the same step as its digit | The counter's own carry train is not modelled. | +| Interior proportions | drum Ø 12 mm, shafts on a 9.7 mm radius, digit drums Ø 8.4 mm | Scaled to fit the 53 mm body; not measured. | + +The brief asked for the drum to move down when the crank is pulled; the sources say it rises with the crank [V][F], +so it rises here. diff --git a/machines/pepper/check.mjs b/machines/pepper/check.mjs new file mode 100644 index 0000000..8c5c9ca --- /dev/null +++ b/machines/pepper/check.mjs @@ -0,0 +1,125 @@ +// Recomputes, from the same functions the page draws with, every figure Pepper shows, and fails if one is wrong: +// the registers' capacity, the multiplication of the film, the subtraction by the ten's complement, a carry cascade +// from …999 + 1, the order and timing of the carries over one turn, and 3,000 random turns against plain arithmetic. +// node machines/pepper/check.mjs (CI runs it on every push). +import {rng} from '../../kit/util.js'; +import {CURTA, G, addendOf, createPlan, fromDigits, stationOf, thetaCarry, thetaTooth, toDigits, turnEvents} from './curta-shared/machine.js'; +import {SETTING, filmFacts, filmPlan} from './curta-shared/schedule.js'; + +let bad = 0; +const eq = (name, v, want) => { + const ok = v === want; + if (!ok) bad++; + console.log(`${ok ? 'ok ' : 'BAD'} ${name.padEnd(54)} ${v}${ok ? '' : ` (want ${want})`}`); +}; +const near = (name, v, lo, hi, unit = '') => { + const ok = v >= lo && v <= hi; + if (!ok) bad++; + console.log(`${ok ? 'ok ' : 'BAD'} ${name.padEnd(54)} ${v} ${unit} [${lo} … ${hi}]`); +}; + +// ---- the figures [W][F][H] +eq('setting sliders (Type I)', CURTA.sliders, 8); +eq('counter digits (Type I)', CURTA.counter, 6); +eq('result digits (Type I)', CURTA.result, 11); +eq('Type II: 11 · 8 · 15', `${CURTA.typeII.sliders} · ${CURTA.typeII.counter} · ${CURTA.typeII.result}`, '11 · 8 · 15'); +near('diameter', CURTA.diameter, 52, 54, 'mm'); +near('height', CURTA.height, 84, 86, 'mm'); +near('mass', CURTA.mass, 228, 232, 'g'); +near('Type I made', CURTA.made, 80000, 80000); +// capacity: the largest number each register holds +eq('result capacity', 10 ** CURTA.result - 1, 99999999999); +eq('counter capacity', 10 ** CURTA.counter - 1, 999999); +eq('setting capacity', 10 ** CURTA.sliders - 1, 99999999); +// the carriage turns through as many positions as the counter has digits; the setting reaches the top column +eq('carriage positions = counter digits', CURTA.counter, 6); + +// ---- the film: 1 234 × 56, then one turn back +const plan = filmPlan(); +const f = filmFacts(plan); +eq('setting', f.set, 1234); +eq('6 turns in position 1 (counter)', f.m1, 6); +eq('… then 5 in position 2 (counter)', f.m2, 56); +eq('1 234 × 56', f.r1, 1234 * 56); +eq('one turn back in position 2: 69 104 − 12 340', f.r2, 69104 - 12340); +eq('counter after the subtraction', f.c2, 46); +eq('1 234 × 46 = the result', f.r2, 1234 * 46); +const sub = plan.turns[plan.turns.length - 1]; +// the ten's complement: 9 − d in each column, 10 − d in the first, over the 11 columns from the carriage position +const add = addendOf(sub.set, sub.p, -1); +const addV = add.reduce((a, x, i) => a + (x ?? 0) * 10 ** i, 0); +eq('addend = 10^11 − 12 340', addV, 10 ** 11 - 12340); +eq('first column takes 10 − 4 teeth', add[sub.p - 1], 6); +eq('…the column above takes 9 − 3', add[sub.p], 6); +// the carries of that turn: one per column from the 5th to the 11th, in order, and one off the top +eq('carries in the subtraction turn', sub.carries.map((c) => c.col).join(','), '5,6,7,8,9,10,11'); +eq('overflow off the 11th column', !!sub.overflow, true); +let order = true; +for (let i = 1; i < sub.carries.length; i++) if (!(sub.carries[i].at > sub.carries[i - 1].at && sub.carries[i].from < sub.carries[i].at && sub.carries[i].from > sub.carries[i - 1].from)) order = false; +eq('carries in order, each after the 9 → 0 that set it', order, true); + +// ---- …999 + 1: the longest cascade +{ + const reg = new Array(CURTA.result).fill(9); + const ev = turnEvents(reg, new Array(CURTA.counter).fill(0), [1, 0, 0, 0, 0, 0, 0, 0], 1, 1); + eq('99 999 999 999 + 1 = 0 (11 digits)', fromDigits(ev.after), 0); + eq('…with 10 carries', ev.carries.length, 10); + eq('…and the 1 off the top', !!ev.overflow, true); + near('…last carry, crank angle', thetaCarry(11), 330, 330, '°'); +} + +// ---- the timing over one turn: every station's teeth end before its carry, the carry tooth runs in order, the +// counter steps last, everything inside 360° +{ + let ok = true; + for (let s = 1; s <= G.active; s++) { + if (s > 1 && thetaCarry(s) <= thetaCarry(s - 1) + G.carryDur) ok = false; + // a wrap in column s (teeth or carry) always comes before the carry tooth reaches s + 1 + if (Math.max(thetaTooth(s, s === 1 ? 9 : 8) + G.toothDur, thetaCarry(s) + G.carryDur) >= thetaCarry(s + 1)) ok = false; + } + eq('teeth, then carries in order, per station', ok, true); + near('carries span (crank angle)', thetaCarry(G.active) - thetaCarry(2), 0, 240, '°'); + near('counter step after the last carry', G.counterAt - (thetaCarry(G.active) + G.carryDur), 0, 30, '°'); + near('the complement shift = half a row', G.shift / G.rowPitch, 0.5, 0.5); +} + +// ---- 3,000 random turns against plain arithmetic, mod 10^11 and 10^6 +{ + const r = rng(1948); + let ok = true; + let reg = new Array(CURTA.result).fill(0); + let ctr = new Array(CURTA.counter).fill(0); + let R = 0n; + let C = 0; + const M = 10n ** 11n; + for (let k = 0; k < 3000; k++) { + const set = Array.from({length: 8}, () => Math.floor(r() * 10)); + const p = 1 + Math.floor(r() * 6); + const sign = r() < 0.4 ? -1 : 1; + const ev = turnEvents(reg, ctr, set, p, sign); + reg = ev.after; + ctr = ev.ctrAfter; + R = (((R + BigInt(sign) * BigInt(fromDigits(set)) * 10n ** BigInt(p - 1)) % M) + M) % M; + C = (((C + sign * 10 ** (p - 1)) % 1e6) + 1e6) % 1e6; + const got = BigInt(reg.reduce((a, x, i) => a + BigInt(x) * 10n ** BigInt(i), 0n)); + if (got !== R || fromDigits(ctr) !== C) ok = false; + } + eq('3,000 random turns = arithmetic mod 10^11 / 10^6', ok, true); +} +// the live page's plan gives the same as the film's for the same steps +{ + const p2 = createPlan(); + p2.add({kind: 'slide', t0: 0, t1: 1, to: SETTING}); + p2.add({kind: 'turns', t0: 1, t1: 2, n: 6}); + p2.add({kind: 'carriage', t0: 2, t1: 3, to: 2}); + p2.add({kind: 'turns', t0: 3, t1: 4, n: 5}); + eq('a plan built step by step', fromDigits(p2.end.reg), 69104); + eq('stations: column 1 in position 2 is parked', stationOf(1, 2), 0); +} +void toDigits; + +if (bad) { + console.error(`\n${bad} figure(s) wrong`); + process.exit(1); +} +console.log('\nevery figure checks'); diff --git a/machines/pepper/curta-film/main.js b/machines/pepper/curta-film/main.js new file mode 100644 index 0000000..ba74c3c --- /dev/null +++ b/machines/pepper/curta-film/main.js @@ -0,0 +1,9 @@ +// Pepper, the explorer film. Shared code in ../curta-shared. The kit's film build inlines Inter and JetBrains Mono +// only; Instrument Serif (the sheet's titles) comes in here, as the site build gives it to the live page. +import serif from '../../../node_modules/@fontsource/instrument-serif/files/instrument-serif-latin-400-normal.woff2'; +import {run} from '../curta-shared/film.js'; + +const style = document.createElement('style'); +style.textContent = `@font-face{font-family:'Instrument Serif';font-weight:400;font-style:normal;font-display:block;src:url(data:font/woff2;base64,${serif}) format('woff2');}`; +document.head.appendChild(style); +document.fonts.load("400 20px 'Instrument Serif'").finally(run); diff --git a/machines/pepper/curta-film/sounds.json b/machines/pepper/curta-film/sounds.json new file mode 100644 index 0000000..14e0d6f --- /dev/null +++ b/machines/pepper/curta-film/sounds.json @@ -0,0 +1 @@ +{"ratchet":[6.39,6.854,7.218,7.543,7.85,8.151,8.458,8.781,9.143,9.6,10.125,11.999,12.128,12.219,12.292,12.353,12.406,12.454,12.498,12.538,12.575,12.609,12.673,12.702,12.73,12.757,12.783,12.807,12.831,12.854,12.876,12.898,12.919,12.959,12.978,12.997,13.015,13.033,13.05,13.067,13.085,13.103,13.122,13.141,13.181,13.202,13.224,13.246,13.269,13.293,13.317,13.343,13.37,13.398,13.427,13.491,13.525,13.562,13.602,13.646,13.694,13.747,13.808,13.881,13.972,14.101,18.299,18.428,18.519,18.592,18.653,18.706,18.754,18.798,18.838,18.875,18.909,18.973,19.002,19.03,19.057,19.083,19.107,19.131,19.154,19.176,19.198,19.219,19.259,19.278,19.297,19.315,19.333,19.35,19.367,19.385,19.403,19.422,19.441,19.481,19.502,19.524,19.546,19.569,19.593,19.617,19.643,19.67,19.698,19.727,19.791,19.825,19.862,19.902,19.946,19.994,20.047,20.108,20.181,20.272,20.401,23.539,23.813,24.066,24.344,24.777,25.354,26.002,26.71,27.438,28.137,28.712],"home":[10.902,12.642,12.939,13.161,13.457,14.473,18.942,19.239,19.461,19.757,20.773,29.327],"carry":[{"t":12.764,"col":2},{"t":12.783,"col":3},{"t":13.252,"col":2},{"t":13.287,"col":4},{"t":13.646,"col":3},{"t":19.083,"col":4},{"t":19.101,"col":5},{"t":19.319,"col":3},{"t":19.913,"col":3},{"t":19.946,"col":4},{"t":25.203,"col":5},{"t":25.669,"col":6},{"t":26.175,"col":7},{"t":26.71,"col":8},{"t":27.256,"col":9},{"t":27.794,"col":10},{"t":28.303,"col":11}],"overflow":[28.838],"counter":[10.447,12.627,12.93,13.152,13.444,14.217,18.927,19.23,19.452,19.744,20.517,28.979],"slide":[2.698,2.829,2.916,3.047,3.016,3.161,3.306,3.353,3.547,3.739,34.198,34.286,34.344,34.432,34.411,34.507,34.604,34.635,34.765,34.892],"carriageLift":[15.336,31.096],"carriageNotch":[16.769,33.315],"carriageDrop":[17.304,33.616],"crank":[22.25,30.225],"ring":[[31.348,32.916]]} \ No newline at end of file diff --git a/machines/pepper/curta-film/timeline.json b/machines/pepper/curta-film/timeline.json new file mode 100644 index 0000000..f3a4310 --- /dev/null +++ b/machines/pepper/curta-film/timeline.json @@ -0,0 +1 @@ +{"duration":38,"beats":{"views":[2,4.6,11.2,21.1,23.9,30.4,34.2],"firstTooth":6.2,"turnsEnd":14.6,"carriage":16.2,"subStart":23.8,"cascade":26.175,"overflow":28.838,"clear":32.3,"end":36.5}} \ No newline at end of file diff --git a/machines/pepper/curta-live/main.js b/machines/pepper/curta-live/main.js new file mode 100644 index 0000000..8e1ddf3 --- /dev/null +++ b/machines/pepper/curta-live/main.js @@ -0,0 +1,5 @@ +import {runLive} from '../curta-shared/live.js'; + +// Pepper as an interactive page: your hand on the crank, the carriage and the setting drums; the subsystems opened +// one by one; the body solid, glass, cut or exploded; orbit and zoom; and an auto tour when left alone. +runLive(); diff --git a/machines/pepper/curta-shared/console.js b/machines/pepper/curta-shared/console.js new file mode 100644 index 0000000..ed9ec59 --- /dev/null +++ b/machines/pepper/curta-shared/console.js @@ -0,0 +1,371 @@ +// Pepper's overlay, laid out like a watchmaker's catalogue sheet: titles in Instrument Serif, fine rules, a lot of +// air. Left: the name, the technical sheet, the crank's turn as a timing chart (each column's teeth and its carry on +// the crank angle), the hand controls. Right: the three registers drawn as the real numbered drums (rolling), the +// operation laid out by hand in columns, the subsystem, cut and view buttons. Callouts with thin leaders into the +// machine. Fixed 1600 x 900 CSS layout; update(s) redraws every live part from the frame's state. +import {CURTA, G, addendOf, fromDigits, stationOf, thetaCarry} from './machine.js'; +import {ACCENT} from './curta.js'; +import {nf, T as tr} from './i18n.js'; + +export const C = {ink: '#1b1a17', mute: '#8a877f', faint: '#c9c5bb', line: '#d9d5cc', paper: 'rgba(246,244,239,.92)', acc: ACCENT, accSoft: 'rgba(176,122,28,.16)'}; +export const SUBS = ['crank', 'sliders', 'drum', 'gears', 'carry', 'carriage', 'reset']; +export const CUTS = ['solid', 'glass', 'section']; +export const VIEWS = ['hero', 'top', 'macro', 'axial']; +export const ACTS = ['turn', 'pull', 'carL', 'carR', 'clear', 'pause']; +const SERIF = `'Instrument Serif',Georgia,serif`; +const CSS = ` +#app{font-family:Inter,system-ui,sans-serif;color:${C.ink};-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums} +.ui{position:absolute;inset:0;pointer-events:none} +.sf{font-family:${SERIF};font-weight:400;letter-spacing:-.005em} +.cp{font-size:10px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;white-space:nowrap} +.mu{color:${C.mute}} +.rule{position:absolute;height:1px;background:${C.line}} +.tb{position:absolute;height:24px;padding:0 8px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;letter-spacing:.5px;border:1px solid ${C.line};border-radius:12px;background:rgba(255,255,255,.55);color:${C.ink};white-space:nowrap} +.call{position:absolute;white-space:nowrap} +.call b{display:block;font-family:${SERIF};font-weight:400;font-size:30px;line-height:1;letter-spacing:-.01em} +.call span{display:block;font-size:10.5px;font-weight:600;letter-spacing:1.5px;color:${C.mute};text-transform:uppercase;margin-top:5px} +.cur{position:absolute;left:0;top:0;z-index:50;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))} +.ring{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1.5px solid ${C.acc};opacity:0;z-index:49} +.reg{position:absolute;display:flex;gap:2px} +.dg{position:relative;width:24px;height:36px;overflow:hidden;background:#141414;border-radius:2px;box-shadow:inset 0 6px 6px -4px rgba(0,0,0,.9),inset 0 -6px 6px -4px rgba(0,0,0,.9)} +.dg.cream{background:#ece5d2;box-shadow:inset 0 6px 6px -4px rgba(0,0,0,.35),inset 0 -6px 6px -4px rgba(0,0,0,.35)} +.dg i{position:absolute;left:0;right:0;top:0;display:block;font:600 21px/36px 'JetBrains Mono',monospace;text-align:center;color:#f4f1e8;font-style:normal;white-space:pre} +.dg.cream i{color:#151515} +.dg u{position:absolute;left:3px;right:3px;bottom:-1px;height:3px;background:${C.acc};opacity:0} +.dgx{position:absolute;font-size:9px;font-weight:600;letter-spacing:1px;color:${C.mute};text-align:center;width:24px} +.op{position:absolute;font-family:${SERIF};font-size:27px;line-height:30px;white-space:nowrap} +.op span{display:inline-block;width:19px;text-align:center} +.op .o{width:22px;text-align:left;color:${C.mute}} +.op .lo{color:${C.faint}} +.op .ac{color:${C.acc}} +.op .cy{font-family:Inter,sans-serif;font-size:11px;font-weight:700;color:${C.acc};line-height:12px;height:12px} +.spec{position:absolute;font-size:12.5px;line-height:21px} +.spec div{display:flex;justify-content:space-between;border-bottom:1px solid rgba(217,213,204,.6)} +.spec b{font-weight:600} +.cap{position:absolute;left:376px;right:376px;bottom:30px;text-align:center;font-family:${SERIF};font-size:29px;line-height:1.15;color:${C.ink};text-shadow:0 0 14px #ece9e3,0 0 26px #ece9e3,0 0 4px #ece9e3} +.cap .pill{background:rgba(239,237,232,.88);padding:1px 14px 3px;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.3} +.pane{position:absolute;background:linear-gradient(rgba(240,238,233,.93),rgba(236,234,228,.9));box-shadow:0 0 0 1px rgba(217,213,204,.55)} +`; +const el = (h) => { + const d = document.createElement('div'); + d.innerHTML = h.trim(); + return d.firstElementChild; +}; +const STRIP = '0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n0'; + +export function createConsole(app) { + const style = document.createElement('style'); + style.textContent = CSS; + document.head.appendChild(style); + const ui = el(`
`); + app.appendChild(ui); + const add = (h) => { + const n = el(h); + ui.appendChild(n); + return n; + }; + const btn = {}; + // the sheet's paper, so the columns stay readable over the black body in the close views + add(`
`); + add(`
`); + + // ------------------------------------------------------------ left: name, sheet + const X = 46; + const W = 300; + add(`
${tr('title')}
`); + add(`
${tr('subtitle')}
`); + add(`
${tr('model')}
`); + add(`
`); + add(`
${tr('sheet')}
`); + const row = (k, v) => `
${k}${v}
`; + add(`
+ ${row(tr('specReg'), `${CURTA.sliders} · ${CURTA.counter} · ${CURTA.result}`)} + ${row(tr('specDia'), `${nf(CURTA.diameter)} mm`)} + ${row(tr('specH'), tr('specHv', nf(CURTA.height), nf(CURTA.heightCrank)))} + ${row(tr('specMass'), `${nf(CURTA.mass)} g`)} + ${row(tr('specMade'), tr('specMadev', nf(CURTA.made), CURTA.years[0], CURTA.years[1]))} + ${row(tr('specII'), `${CURTA.typeII.sliders} · ${CURTA.typeII.counter} · ${CURTA.typeII.result}`)} +
`); + add(`
`); + + // ------------------------------------------------------------ left: the turn as a timing chart + add(`
${tr('turnTitle')}
`); + const thBig = add(`
`); + const thSub = add(`
`); + const chart = add(``); + add(`
${tr('chartLegend', C.acc)}
`); + + // ------------------------------------------------------------ left: the hand (live controls) + add(`
`); + add(`
${tr('grpHand')}
`); + { + let x = X; + let y = 740; + for (const k of ACTS) { + const w = Math.round(tr('act:' + k).length * 6.6 + 22); + if (x + w > X + W) { + x = X; + y += 30; + } + btn[k] = add(`
${tr('act:' + k)}
`); + x += w + 6; + } + } + const handNote = add(`
`); + + // ------------------------------------------------------------ right: registers as drums + const RX = 1258; + const RW = 300; + const regs = {}; + const reg = (key, n, y, cream, title) => { + add(`
${title}
`); + const side = add(`
`); + const box = add(`
`); + const cells = []; + for (let i = n - 1; i >= 0; i--) { + const d = el(`
${STRIP}
`); + box.appendChild(d); + cells[i] = d; + } + regs[key] = {cells, side, box, n}; + }; + reg('result', CURTA.result, 22, false, tr('regResult')); + reg('ctr', CURTA.counter, 104, true, tr('regCtr')); + reg('set', CURTA.sliders, 186, false, tr('regSet')); + // column numbers under the result + for (let i = 0; i < CURTA.result; i++) add(`
${i + 1}
`); + add(`
`); + + // ------------------------------------------------------------ right: the operation by hand + add(`
${tr('opTitle')}
`); + const opSide = add(`
`); + const op = add(`
`); + const opNote = add(`
`); + add(`
`); + const hist = add(`
`); + + // ------------------------------------------------------------ right: buttons + // laid out from the bottom up, so a longer language takes more rows and still ends above the footer + const groups = [[tr('grpSub'), SUBS, 'sub:'], [tr('grpCut'), [...CUTS, 'explode'], 'cut:'], [tr('grpView'), VIEWS, 'view:']]; + const BX = RX - 30; + const laid = groups.map(([title, keys, pre]) => { + let x = BX; + let row = 0; + const items = keys.map((k) => { + const w = Math.round(tr(pre + k).length * 6.1 + 18); + if (x + w > RX + RW) { + x = BX; + row++; + } + const it = {k, x, row, w, label: tr(pre + k)}; + x += w + 5; + return it; + }); + return {title, items, rows: row + 1}; + }); + const height = laid.reduce((a, g) => a + 15 + g.rows * 27 + 6, 0); + let gy = 870 - height; + add(`
`); + for (const g of laid) { + add(`
${g.title}
`); + for (const it of g.items) btn[it.k] = add(`
${it.label}
`); + gy += 15 + g.rows * 27 + 6; + } + + // ------------------------------------------------------------ caption, callouts, pointer + const cap = add(`
`); + add(`
${tr('hint')}
`); + const callSvg = add(``); + const callG = add(`
`); + const ring = add(`
`); + const cur = add(`
`); + const centre = (n) => [parseFloat(n.style.left) + parseFloat(n.style.width) / 2, parseFloat(n.style.top) + 12]; + const spots = Object.fromEntries(Object.entries(btn).map(([k, n]) => [k, centre(n)])); + const setSpots = Object.fromEntries(Array.from({length: CURTA.sliders}, (_, i) => [i, [RX + RW - (i + 1) * 26 + 14, 186 + 32 + 18]])); + const pointer = (c) => { + cur.style.display = c.x < 0 ? 'none' : 'block'; + cur.style.transform = `translate(${(c.x - 3).toFixed(2)}px, ${(c.y - 2).toFixed(2)}px) scale(${c.press ? 0.88 : 1})`; + ring.style.left = `${c.ringX}px`; + ring.style.top = `${c.ringY}px`; + ring.style.opacity = String(c.ring * 0.85); + ring.style.transform = `scale(${(0.35 + 0.9 * (1 - c.ring)).toFixed(3)})`; + }; + const roll = (r, vals, active = -1) => { + for (let i = 0; i < r.n; i++) { + const v = (((vals[i] % 10) + 10) % 10); + r.cells[i].firstChild.style.transform = `translateY(${(-v * 36).toFixed(2)}px)`; + r.cells[i].lastChild.style.opacity = i === active ? '1' : '0'; + } + }; + let lastEv = null; + + // the turn's chart: θ across, one row per result column (1 at the bottom); teeth as brass ticks, carries as dots + const drawChart = (ev, th, p) => { + const Wc = W; + const x0 = 26; + const x1 = Wc - 6; + const xa = (a) => x0 + (a / 360) * (x1 - x0); + const rh = 19; + const yRow = (j) => 8 + (CURTA.result - j) * rh + rh / 2; + let h = ''; + for (const a of [0, 90, 180, 270, 360]) h += `${a}°`; + for (let j = 1; j <= CURTA.result; j++) { + const y = yRow(j); + h += `${j}`; + h += ``; + } + if (ev) { + for (const c of ev.cols) { + const y = yRow(c.col); + for (const a of c.teeth) { + const on = th !== null && th >= a; + h += ``; + } + } + // carries: from the wrap of a column to the carry tooth reaching the next, then the dot + for (const cy of ev.carries) { + const y = yRow(cy.col); + const a = cy.at; + const fired = th !== null && th >= a; + const xw = xa(cy.from); + h += ``; + h += ``; + } + if (ev.overflow) { + const a = ev.overflow.at; + const fired = th !== null && th >= a + 4; + h += `${tr("overflow")}`; + } + // the counter's tooth + const yc = yRow(1) + 12; + h += ``; + } + // columns below the carriage's position are parked + for (let j = 1; j < p; j++) h += ``; + if (th !== null) h += ``; + chart.innerHTML = h; + }; + + // the operation by hand: during a turn, the register, the addend (or its complement), the carries and the sum; + // between turns, the running total + const opLine = (sym, digits, cls = (i) => '', lead = true) => { + let h = `
${sym}`; + let started = !lead; + for (let i = CURTA.result - 1; i >= 0; i--) { + const d = digits[i]; + if (d === null || d === undefined) { + h += ``; + continue; + } + if (d !== 0 || i === 0) started = true; + h += `${started || !lead ? d : '0'}`; + } + return h + '
'; + }; + const fmt = (v) => nf(v).replace(/^-/, "−"); + + return { + spots, + setSpots, + btn, + root: ui, + pointer, + update(s) { + const S = s.S; + const turn = S.turn; + if (turn) lastEv = turn.ev; + const ev = turn ? turn.ev : s.nextEv || lastEv; + // the turn + const th = turn ? turn.th : null; + thBig.textContent = turn ? `θ ${Math.round(th)}°` : ''; + thSub.innerHTML = turn + ? `${tr(turn.sign < 0 ? 'modeSub' : 'modeAdd')}  ·  ${tr('turnOf', turn.n + 1, turn.of)}  ·  ${tr('posN', S.p)}` + : `${tr(S.up > 0.5 ? 'crankUp' : 'crankDown')}  ·  ${tr('posN', S.p)}`; + drawChart(ev, th, turn ? turn.ev.p : S.p); + + // registers + const actCol = turn && S.active?.carry ? S.active.carry.col : turn && S.active?.tooth ? S.active.tooth.col : -1; + roll(regs.result, S.regPos, actCol - 1); + roll(regs.ctr, S.ctrPos, S.p - 1); + roll(regs.set, S.setPos, -1); + regs.result.side.textContent = nf(fromDigits(S.reg)); + regs.ctr.side.innerHTML = `${tr('posN', S.p)}  ·  ${nf(fromDigits(S.ctr))}`; + regs.set.side.textContent = nf(fromDigits(S.set)); + // the carriage's offset under the result, shown by sliding the counter and setting rows + const off = (S.carPos - 1) * 26; + regs.set.box.style.transform = `translateX(${(-off).toFixed(1)}px)`; + + // the operation + if (turn) { + const e = turn.ev; + const add = addendOf(e.set, e.p, e.sign); + const carried = new Array(CURTA.result).fill(null); + for (const c of e.carries) if (th >= c.at) carried[c.col - 1] = 1; + const now = S.reg; + let h = `
${Array.from({length: CURTA.result}, (_, q) => `${carried[CURTA.result - 1 - q] ? '1' : ''}`).join('')}
`; + h += opLine('', e.reg0, () => ''); + h += opLine(e.sign < 0 ? '+' : '+', add.map((x) => (x === null ? null : x % 10)), (i) => (add[i] === 10 ? 'ac' : i + 1 === actCol ? 'ac' : ''), e.sign > 0); + h += `
`; + h += opLine('', now, (i) => (i + 1 === actCol ? 'ac' : '')); + op.innerHTML = h; + opSide.textContent = e.sign < 0 ? tr('opSubSide') : tr('opAddSide', e.p); + opNote.innerHTML = e.sign < 0 ? tr('compNote', fmt(fromDigits(e.set) * 10 ** (e.p - 1)), C.acc) : tr('addNote', fmt(fromDigits(e.set)), e.p, fmt(fromDigits(e.set) * 10 ** (e.p - 1))); + } else { + let h = `
`; + h += opLine('', S.reg, () => ''); + op.innerHTML = h; + opSide.textContent = ''; + opNote.innerHTML = S.up > 0.5 ? tr('upNote', C.acc) : ''; + } + // the running operation, by hand: 1 234 × 6, + 1 234 × 50, − 1 234 × 10 + { + const H = S.hist.length ? S.hist : s.lastHist || []; + let h = ''; + let mul = 0; + H.slice(-4).forEach((x, i) => { + const m = x.n * 10 ** (x.p - 1); + h += `
${i || x.sign < 0 ? (x.sign < 0 ? '−' : '+') : ''}${fmt(x.set)} × ${fmt(m)}${tr('histTurns', x.n, x.p)}
`; + }); + for (const x of H) mul += x.sign * x.n * 10 ** (x.p - 1); + const set = H.length ? H[H.length - 1].set : 0; + const total = H.reduce((a, x) => a + x.sign * x.n * x.set * 10 ** (x.p - 1), 0); + if (H.length) h += `
= ${H.every((x) => x.set === set) ? `${fmt(set)} × ${fmt(mul)}` : ''}${fmt(total)}
`; + hist.innerHTML = h; + } + + // toggles + const tog = (k, on) => { + if (!btn[k]) return; + btn[k].style.background = on ? C.ink : 'rgba(255,255,255,.55)'; + btn[k].style.color = on ? '#f6f4ef' : C.ink; + btn[k].style.borderColor = on ? C.ink : C.line; + }; + for (const k of SUBS) tog(k, s.sub === k); + for (const k of CUTS) tog(k, s.cut === k); + tog('explode', s.explode > 0.5); + for (const k of VIEWS) tog(k, s.view === k); + tog('pull', S.up > 0.5); + tog('pause', !!s.paused); + if (btn.pause) btn.pause.textContent = tr(s.paused ? 'act:play' : 'act:pause'); + handNote.innerHTML = s.handNote || ''; + cap.innerHTML = s.caption ? `${s.caption}` : ''; + + // callouts + let lh = ''; + let ch = ''; + for (const c of s.callouts) { + if (c.o < 0.02 || !c.at) continue; + const [ax, ay] = c.at; + const [lx, ly] = c.label; + const right = c.w < 0; + const w = Math.abs(c.w); + lh += ``; + ch += `
${c.name}${c.sub}
`; + } + callSvg.innerHTML = lh; + callG.innerHTML = ch; + pointer(s.cursor); + }, + }; +} +export {stationOf, thetaCarry}; diff --git a/machines/pepper/curta-shared/curta.js b/machines/pepper/curta-shared/curta.js new file mode 100644 index 0000000..6fa8a39 --- /dev/null +++ b/machines/pepper/curta-shared/curta.js @@ -0,0 +1,787 @@ +// Pepper's geometry, built from code, in millimetres (the root is scaled to metres). Against the photos in +// ../REFERENCES.md: a knurled base, the slotted body with its 8 sliders, the CURTA band, the knurled carriage with the +// result and counter windows on its top plate, the clearing ring, the crank. Inside, from the drawings of the +// internals [M]: one stepped drum with its addition and complement rows and the carry bell on top, 11 square shafts +// around it with their counting gears, the carry levers and pinions, the digit drums lying on their sides under the +// windows. update(S, fx) poses every part from the model's state (machine.js) for one frame; it holds no time. +import * as THREE from 'three'; +import {rng} from 'teardown-kit/util.js'; +import {CURTA, G, stationOf, thetaCarry} from './machine.js'; + +const V3 = THREE.Vector3; +const D2R = Math.PI / 180; +export const ACCENT = '#b07a1c'; + +// ------------------------------------------------------------ layout, mm; y up, azimuth a from +z toward +x +export const L = { + baseR: 26.5, + baseH: 14, + shellR: 23.6, + shellY: [14, 52], + slotY: [19.2, 47.6], + slotW: 3.4, + bandR: 25.2, + bandY: [52, 63], + carR: 26.5, + carY: [63, 79.5], + plateY: [79.5, 81.5], + ringR: [20.6, 25.6], + drumR: 6, + toothR: 7.6, + drumY: [18.6, 45.4], + shaftR: 9.7, + gearR: 2.3, + wheelR: 4.2, + wheelW: 4.2, + wheelAt: 18.6, // radius of the result digit drums' centres + ctrR: 2.6, + ctrW: 3.2, + ctrAt: 7.2, + crankArm: 16, + A1: 3.5 * G.pitch, // azimuth of station 1: the 8 sliders centred on the front, slider 1 on the right +}; +export const azOf = (s) => L.A1 - (s - 1) * G.pitch; // degrees +export const yRow = (d) => 43 - G.rowPitch * d; // height of the counting gear for digit d (and of add row d) +const P = (r, a, y) => new V3(r * Math.sin(a * D2R), y, r * Math.cos(a * D2R)); + +// ------------------------------------------------------------ textures drawn on canvases +function canvas(w, h, draw) { + const c = document.createElement('canvas'); + c.width = w; + c.height = h; + draw(c.getContext('2d'), w, h); + return c; +} +function normalFromHeight(w, h, hf, strength) { + return canvas(w, h, (g) => { + const img = g.createImageData(w, h); + for (let y = 0; y < h; y++) + for (let x = 0; x < w; x++) { + const dx = (hf((x + 1) % w, y) - hf((x - 1 + w) % w, y)) * strength; + const dy = (hf(x, (y + 1) % h) - hf(x, (y - 1 + h) % h)) * strength; + const n = new V3(-dx, dy, 1).normalize(); + const i = (y * w + x) * 4; + img.data[i] = (n.x * 0.5 + 0.5) * 255; + img.data[i + 1] = (n.y * 0.5 + 0.5) * 255; + img.data[i + 2] = (n.z * 0.5 + 0.5) * 255; + img.data[i + 3] = 255; + } + g.putImageData(img, 0, 0); + }); +} +const texOf = (c, {srgb = false, rx = 1, ry = 1, aniso = 8} = {}) => { + const t = new THREE.CanvasTexture(c); + if (srgb) t.colorSpace = THREE.SRGBColorSpace; + t.wrapS = t.wrapT = THREE.RepeatWrapping; + t.repeat.set(rx, ry); + t.anisotropy = aniso; + return t; +}; +// diamond knurl: a grid of four-sided pyramids +const knurlCanvas = () => normalFromHeight(64, 64, (x, y) => 1 - Math.max(Math.abs((x % 32) - 16), Math.abs((y % 32) - 16)) / 16, 2.2); +// the crackle paint: small cells of raised paint with grooves between them +function crackleCanvas() { + const r = rng(48); + const N = 256; + const pts = Array.from({length: 150}, () => [r() * N, r() * N]); + const H = new Float32Array(N * N); + for (let y = 0; y < N; y++) + for (let x = 0; x < N; x++) { + let d1 = 1e9; + let d2 = 1e9; + for (const [px, py] of pts) { + let dx = Math.abs(x - px); + let dy = Math.abs(y - py); + dx = Math.min(dx, N - dx); + dy = Math.min(dy, N - dy); + const d = dx * dx + dy * dy; + if (d < d1) [d1, d2] = [d, d1]; + else if (d < d2) d2 = d; + } + const e = Math.sqrt(d2) - Math.sqrt(d1); + H[y * N + x] = Math.min(1, e / 3) * (0.8 + 0.2 * Math.sin(x * 0.9 + y * 1.3)); + } + return normalFromHeight(N, N, (x, y) => H[y * N + x], 1.6); +} +// a digit drum's face: ten digits around the circumference, each turned so its top points at the machine's axis +function digitsCanvas(fg, bg, w = 640, h = 72, font = 'JetBrains Mono') { + return canvas(w, h, (g) => { + g.fillStyle = bg; + g.fillRect(0, 0, w, h); + const cw = w / 10; + g.fillStyle = fg; + g.font = `600 ${Math.round(cw * 0.78)}px '${font}', monospace`; + g.textAlign = 'center'; + g.textBaseline = 'middle'; + for (let d = 0; d < 10; d++) { + g.save(); + g.translate((d + 0.5) * cw, h / 2); + g.rotate(Math.PI); + g.fillText(String(d), 0, 2); + g.restore(); + } + }); +} +// a slider's digit tape: 0 at the top, 9 at the bottom +const tapeCanvas = () => + canvas(64, 640, (g, w, h) => { + g.fillStyle = '#0d0d0e'; + g.fillRect(0, 0, w, h); + g.fillStyle = '#f2efe6'; + g.font = `600 46px 'JetBrains Mono', monospace`; + g.textAlign = 'center'; + g.textBaseline = 'middle'; + for (let d = 0; d < 10; d++) g.fillText(String(d), w / 2, (d + 0.5) * (h / 10) + 2); + }); +// the band: CURTA at the front, the slider numbers under the slots +const bandCanvas = () => + canvas(2048, 128, (g, w, h) => { + g.fillStyle = '#000'; + g.fillRect(0, 0, w, h); + g.fillStyle = '#e9e6dd'; + g.font = `300 70px Inter, sans-serif`; + g.textAlign = 'center'; + g.textBaseline = 'middle'; + const word = 'C U R T A'; + g.save(); + g.translate(w * 0.035, h * 0.52); + g.fillText(word, 0, 0); + g.restore(); + g.save(); + g.translate(w * 1.035, h * 0.52); + g.fillText(word, 0, 0); + g.restore(); + }); +const numbersCanvas = (labels, size = 34) => + canvas(2048, 64, (g, w, h) => { + g.fillStyle = '#000'; + g.fillRect(0, 0, w, h); + g.fillStyle = '#d9d6cd'; + g.font = `500 ${size}px Inter, sans-serif`; + g.textAlign = 'center'; + g.textBaseline = 'middle'; + for (const [a, txt] of labels) { + const u = (((a / 360) % 1) + 1) % 1; + g.fillText(txt, u * w, h / 2 + 1); + } + }); + +// ------------------------------------------------------------ shapes +function gearGeom(teeth, rTip, rRoot, thick, hole = 0.7) { + const s = new THREE.Shape(); + const n = teeth * 4; + for (let i = 0; i <= n; i++) { + const a = (i / n) * Math.PI * 2; + const ph = i % 4; + const r = ph === 1 || ph === 2 ? rTip : rRoot; + const x = r * Math.cos(a); + const y = r * Math.sin(a); + if (i === 0) s.moveTo(x, y); + else s.lineTo(x, y); + } + const hp = new THREE.Path(); + hp.moveTo(hole, hole); + hp.lineTo(-hole, hole); + hp.lineTo(-hole, -hole); + hp.lineTo(hole, -hole); + hp.lineTo(hole, hole); + s.holes.push(hp); + const g = new THREE.ExtrudeGeometry(s, {depth: thick, bevelEnabled: false, curveSegments: 2}); + g.rotateX(-Math.PI / 2); + g.translate(0, -thick / 2, 0); + return g; +} +// the top plate: a disc with 11 + 6 windows +function plateGeom() { + const s = new THREE.Shape(); + s.absarc(0, 0, L.carR - 0.3, 0, Math.PI * 2, false); + const win = (r, a, w, h) => { + const p = new THREE.Path(); + const c = [r * Math.sin(a * D2R), r * Math.cos(a * D2R)]; + const ra = [Math.sin(a * D2R), Math.cos(a * D2R)]; + const ta = [Math.cos(a * D2R), -Math.sin(a * D2R)]; + const q = (u, v) => [c[0] + ra[0] * u + ta[0] * v, c[1] + ra[1] * u + ta[1] * v]; + const pts = [q(-h / 2, -w / 2), q(-h / 2, w / 2), q(h / 2, w / 2), q(h / 2, -w / 2)]; + p.moveTo(...pts[0]); + for (const x of pts.slice(1)) p.lineTo(...x); + p.lineTo(...pts[0]); + s.holes.push(p); + }; + for (let j = 1; j <= CURTA.result; j++) win(L.wheelAt, L.A1 - (j - 1) * G.pitch, 4.0, 5.6); + for (let c = 1; c <= CURTA.counter; c++) win(L.ctrAt, L.A1 - (c - 0.5) * G.pitch, 2.4, 3.4); + const hole = new THREE.Path(); + hole.absarc(0, 0, 3.0, 0, Math.PI * 2, true); + s.holes.push(hole); + const g = new THREE.ExtrudeGeometry(s, {depth: L.plateY[1] - L.plateY[0], bevelEnabled: true, bevelThickness: 0.25, bevelSize: 0.25, bevelSegments: 2, curveSegments: 64}); + // shape x → world x, shape y → world z (a = 0 at +z): rotate so the extrusion goes up + g.rotateX(Math.PI / 2); + g.scale(1, -1, 1); + g.translate(0, L.plateY[0], 0); + return g; +} + +export function buildCurta() { + const root = new THREE.Group(); + root.scale.setScalar(0.001); + const groups = {}; + const grp = (name, parent = root) => { + const g = new THREE.Group(); + g.name = name; + parent.add(g); + groups[name] = g; + return g; + }; + // ---- materials (each group gets its own copies so it can turn to glass or ghost on its own) + const knurlN = texOf(knurlCanvas()); + const crackN = texOf(crackleCanvas(), {rx: 3, ry: 2}); + const std = (o) => new THREE.MeshStandardMaterial({roughness: 0.5, metalness: 0, envMapIntensity: 0.6, ...o}); + const M = { + crackle: std({color: '#121213', roughness: 0.78, normalMap: crackN, normalScale: new THREE.Vector2(0.45, 0.45), envMapIntensity: 0.5}), + knurl: std({color: '#18191b', roughness: 0.44, metalness: 0.55, normalMap: knurlN, normalScale: new THREE.Vector2(1.1, 1.1), envMapIntensity: 0.75}), + satinBlack: std({color: '#151618', roughness: 0.42, metalness: 0.5, envMapIntensity: 0.7}), + steel: std({color: '#9a9ea5', roughness: 0.4, metalness: 1, envMapIntensity: 0.6}), + polished: std({color: '#aeb2b8', roughness: 0.36, metalness: 1, envMapIntensity: 0.62}), + brass: std({color: '#9c8c6a', roughness: 0.42, metalness: 1, envMapIntensity: 0.6}), + dark: std({color: '#0a0a0b', roughness: 0.7}), + band: std({color: '#ffffff', roughness: 0.55, metalness: 0.2, map: texOf(bandCanvas(), {srgb: true}), envMapIntensity: 0.5}), + nums: std({color: '#ffffff', roughness: 0.7, map: texOf(numbersCanvas(Array.from({length: 8}, (_, i) => [azOf(i + 1), String(i + 1)])), {srgb: true})}), + }; + const accentC = new THREE.Color(ACCENT); + const ACC = () => std({color: '#c9902a', roughness: 0.38, metalness: 0.9, emissive: accentC, emissiveIntensity: 0, envMapIntensity: 0.8}); + const resultTex = texOf(digitsCanvas('#f4f1e8', '#0b0b0c'), {srgb: true}); + const ctrTex = texOf(digitsCanvas('#141414', '#ece5d2'), {srgb: true}); + const tapeTex = texOf(tapeCanvas(), {srgb: true}); + const mats = new Map(); // group name -> materials + const own = (gname, m) => { + const c = m.clone(); + c.userData.base = {opacity: 1, transparent: false}; + if (!mats.has(gname)) mats.set(gname, []); + mats.get(gname).push(c); + return c; + }; + const mesh = (gname, geo, m, parent = groups[gname]) => { + const x = new THREE.Mesh(geo, own(gname, m)); + x.castShadow = true; + x.receiveShadow = true; + parent.add(x); + return x; + }; + const cyl = (r0, r1, h, seg = 96, open = false, ts = 0, tl = Math.PI * 2) => new THREE.CylinderGeometry(r0, r1, h, seg, 1, open, ts, tl); + const at = (o, y) => (o.position.y = y, o); + const A = {}; // anchors for the callouts + + // ================================================================ base + grp('base'); + { + const h = L.baseH; + const ring = mesh('base', cyl(L.baseR, L.baseR, h - 2, 128, true), M.knurl); + ring.material.normalMap = knurlN.clone(); + ring.material.normalMap.repeat.set(90, 7); + ring.material.normalMap.needsUpdate = true; + at(ring, 1 + (h - 2) / 2); + // chamfers and the bottom + const prof = [[0, 0], [L.baseR - 1.2, 0], [L.baseR, 1.0], [L.baseR, 1.2], [L.baseR - 0.3, 1.2]].map(([x, y]) => new THREE.Vector2(x, y)); + mesh('base', new THREE.LatheGeometry(prof, 128), M.satinBlack); + const top = [[L.baseR - 0.3, h - 1.2], [L.baseR, h - 1.2], [L.baseR, h - 0.8], [L.baseR - 0.8, h], [L.shellR - 0.2, h]].map(([x, y]) => new THREE.Vector2(x, y)); + mesh('base', new THREE.LatheGeometry(top, 128), M.satinBlack); + // three steel pins on the top edge + for (const a of [-42, 8, 58]) { + const pin = mesh('base', new THREE.CylinderGeometry(0.7, 0.8, 1.6, 16), M.steel); + pin.position.copy(P(L.baseR - 1.4, a, h + 0.6)); + } + } + + // ================================================================ shell: the body with its slots, sliders, band + grp('shell'); + { + const [y0, y1] = L.shellY; + const [s0, s1] = L.slotY; + const halfA = ((L.slotW / 2) / L.shellR) / D2R; + // full rings above and below the slots + const below = mesh('shell', cyl(L.shellR, L.shellR, s0 - y0, 128, true), M.crackle); + at(below, (y0 + s0) / 2); + below.material.side = THREE.DoubleSide; + const above = mesh('shell', cyl(L.shellR, L.shellR, y1 - s1, 128, true), M.crackle); + at(above, (s1 + y1) / 2); + above.material.side = THREE.DoubleSide; + // panels between the slots (slots at stations 1..8, a solid back) + const slots = Array.from({length: CURTA.sliders}, (_, i) => azOf(i + 1)).sort((a, b) => a - b); + const edges = []; + for (let i = 0; i < slots.length; i++) { + const a0 = slots[i] + halfA; + const a1 = i + 1 < slots.length ? slots[i + 1] - halfA : slots[0] + 360 - halfA; + edges.push([a0, a1]); + } + for (const [a0, a1] of edges) { + const g = cyl(L.shellR, L.shellR, s1 - s0, Math.max(4, Math.round((a1 - a0) / 3)), true, a0 * D2R, (a1 - a0) * D2R); + const m = mesh('shell', g, M.crackle); + m.material.side = THREE.DoubleSide; + at(m, (s0 + s1) / 2); + } + // the slot's back: a dark guide with a polished rod, like the photos + for (let i = 1; i <= CURTA.sliders; i++) { + const a = azOf(i); + const back = mesh('shell', cyl(L.shellR - 1.6, L.shellR - 1.6, s1 - s0, 8, true, (a - halfA * 1.6) * D2R, halfA * 3.2 * D2R), M.dark); + back.material.side = THREE.DoubleSide; + at(back, (s0 + s1) / 2); + const rod = mesh('shell', new THREE.CylinderGeometry(0.55, 0.55, s1 - s0, 12), M.polished); + rod.position.copy(P(L.shellR - 1.0, a, (s0 + s1) / 2)); + } + // sliders: knurled tabs riding in the slots + groups.sliders = []; + for (let i = 1; i <= CURTA.sliders; i++) { + const a = azOf(i); + const piv = new THREE.Group(); + piv.rotation.y = a * D2R; + groups.shell.add(piv); + const tab = new THREE.Group(); + piv.add(tab); + const knob = mesh('shell', new THREE.BoxGeometry(4.4, 4.6, 2.4), M.knurl, tab); + knob.material.normalMap = knurlN.clone(); + knob.material.normalMap.repeat.set(3, 3); + knob.position.set(0, 0, L.shellR + 1.0); + const stem = mesh('shell', new THREE.BoxGeometry(2.4, 3.2, 2.2), M.satinBlack, tab); + stem.position.set(0, 0, L.shellR - 1.0); + groups.sliders.push(tab); + // digit tape window above the slot + const win = mesh('shell', new THREE.PlaneGeometry(3.0, 3.0), std({map: tapeTex.clone(), roughness: 0.6, color: '#ffffff'}), piv); + win.material.map.repeat.set(1, 0.1); + win.material.map.needsUpdate = true; + win.position.set(0, (s1 + y1) / 2 + 0.6, L.shellR + 0.05); + tab.userData.win = win; + } + // slider numbers under the slots + const nums = mesh('shell', cyl(L.shellR + 0.02, L.shellR + 0.02, 3.2, 128, true), M.nums); + at(nums, y0 + 2.6); + // the band + const band = mesh('shell', cyl(L.bandR, L.bandR, L.bandY[1] - L.bandY[0], 128, true), M.band); + at(band, (L.bandY[0] + L.bandY[1]) / 2); + const bandTop = mesh('shell', new THREE.RingGeometry(L.shellR - 0.5, L.bandR, 128), M.satinBlack); + bandTop.rotation.x = Math.PI / 2; + bandTop.position.y = L.bandY[0]; + A.sliders = P(L.shellR + 2, azOf(3), 34); + A.band = P(L.bandR, 20, 58); + } + + // ================================================================ drum: the stepped drum and the carry bell, turning with the crank + grp('drum'); + const drumSpin = new THREE.Group(); + groups.drum.add(drumSpin); + groups.drumSpin = drumSpin; + const teeth = []; + { + const [y0, y1] = L.drumY; + const core = mesh('drum', cyl(L.drumR, L.drumR, y1 - y0, 64), M.steel, drumSpin); + core.material.color.set('#7d8187'); + at(core, (y0 + y1) / 2); + const shaft = mesh('drum', cyl(2.2, 2.2, 82 - 15, 24), M.steel, drumSpin); + at(shaft, (15 + 82) / 2); + // rows: add row d (d teeth) at yRow(d), complement row d (9 − d teeth) half a pitch lower, the ten row on top + const rows = []; + for (let d = 1; d <= 9; d++) rows.push({kind: 'add', d, y: yRow(d), n: d}); + for (let d = 0; d <= 8; d++) rows.push({kind: 'comp', d, y: yRow(d) - G.shift, n: 9 - d}); + rows.push({kind: 'ten', d: 0, y: yRow(0) + G.shift, n: 10}); + let count = 0; + for (const r of rows) count += r.n; + const tg = new THREE.BoxGeometry(1.25, 0.95, L.toothR - L.drumR + 0.3); + const im = new THREE.InstancedMesh(tg, own('drum', M.brass), count); + im.castShadow = true; + im.receiveShadow = true; + const m4 = new THREE.Matrix4(); + const q = new THREE.Quaternion(); + let i = 0; + for (const r of rows) + for (let k = 0; k < r.n; k++) { + // tooth k sits at drum angle A1 + entry0 + 10k (it meets station s at θ = entry0 + (s − 1)·22.5 + 10k) + const phi = L.A1 + G.entry0 + k * G.tooth; + q.setFromAxisAngle(new V3(0, 1, 0), phi * D2R); + m4.compose(P((L.drumR + L.toothR) / 2 - 0.15, phi, r.y), q, new V3(1, 1, 1)); + im.setMatrixAt(i, m4); + im.setColorAt(i, new THREE.Color(1, 1, 1)); + teeth.push({...r, k, i}); + i++; + } + im.instanceColor.needsUpdate = true; + drumSpin.add(im); + groups.teeth = im; + // collars between the rows, thin rings that read as the drum's stepped body + for (let d = 0; d <= 9; d++) { + const c = mesh('drum', cyl(L.drumR + 0.2, L.drumR + 0.2, 0.25, 64), M.satinBlack, drumSpin); + at(c, yRow(d) - G.shift / 2 - 0.6); + } + // the carry bell: a disc with one tooth + const bell = mesh('drum', cyl(7.0, 7.4, 1.4, 64), M.steel, drumSpin); + at(bell, 46.8); + const phiC = L.A1 + G.carry0; + const ct = mesh('drum', new THREE.BoxGeometry(1.6, 2.6, 1.8), ACC(), drumSpin); + ct.position.copy(P(7.9, phiC, 47.2)); + ct.rotation.y = phiC * D2R; + groups.carryTooth = ct; + A.drum = new V3(0, 30, 0); + A.drumTop = new V3(0, 47, 0); + } + + // ================================================================ shafts: 11 stations, counting gears, forks, carry levers + grp('shafts'); + const st = []; + { + const gearG = gearGeom(10, L.gearR, L.gearR - 0.55, 1.0); + const pinG = gearGeom(10, 1.7, 1.25, 0.9); + for (let s = 1; s <= G.active; s++) { + const a = azOf(s); + const base = P(L.shaftR, a, 0); + const piv = new THREE.Group(); + piv.position.copy(base); + groups.shafts.add(piv); + const spin = new THREE.Group(); + piv.add(spin); + const sh = mesh('shafts', new THREE.BoxGeometry(1.3, 46, 1.3), M.steel, spin); + sh.position.y = 16.5 + 23; + const gear = mesh('shafts', gearG, ACC(), spin); + gear.material.color.set('#a89878'); + gear.position.y = yRow(0); + const pin = mesh('shafts', pinG, M.brass, spin); + pin.position.y = 49.6; + // the coupling at the top, under the carriage + const cup = mesh('shafts', cyl(1.6, 1.6, 1.2, 16), M.brass, spin); + cup.position.y = 62.2; + // the extra cog of the first column, met by the ten row when the drum is up [V] + if (s === 1) { + const cog = mesh('shafts', gearG, M.brass, spin); + cog.position.y = yRow(0) + G.shift; + } + // fork from the slider to the gear (sliders only) + let fork = null; + if (s <= CURTA.sliders) { + fork = new THREE.Group(); + groups.shafts.add(fork); + fork.rotation.y = a * D2R; + const bar = mesh('shafts', new THREE.BoxGeometry(0.45, 0.8, L.shellR - 1.6 - L.shaftR - 1.2), M.satinBlack, fork); + bar.position.set(0, 0, (L.shaftR + 1.2 + L.shellR - 1.6) / 2); + const yoke = mesh('shafts', new THREE.BoxGeometry(3.4, 0.4, 1.0), M.satinBlack, fork); + yoke.position.set(0, 0.85, L.shaftR + 0.9); + } + // carry lever (stations 2..11): pivots on the frame, presses the pinion down [F] + let lever = null; + if (s >= 2) { + lever = new THREE.Group(); + groups.shafts.add(lever); + lever.position.copy(P(12.6, a, 53.2)); + lever.rotation.y = a * D2R; + const arm = mesh('shafts', new THREE.BoxGeometry(0.8, 0.9, 3.6), ACC(), lever); + arm.material.color.set('#b9bdc3'); + arm.material.metalness = 1; + arm.position.set(0, -0.4, -1.6); + const up = mesh('shafts', new THREE.BoxGeometry(0.8, 6.4, 0.8), M.steel, lever); + up.position.set(0, 3.0, 0.1); + const pv = mesh('shafts', new THREE.CylinderGeometry(0.6, 0.6, 1.8, 12), M.polished, lever); + pv.rotation.z = Math.PI / 2; + lever.userData.arm = arm; + } + const smats = []; + for (const o of [piv, fork, lever]) o?.traverse((m) => m.isMesh && smats.push(m.material)); + st.push({s, a, piv, spin, gear, pin, fork, lever, smats}); + } + // the frame ring that carries the lever pivots + const fr = mesh('shafts', new THREE.TorusGeometry(12.6, 0.5, 8, 96), M.steel); + fr.rotation.x = Math.PI / 2; + fr.position.y = 53.2; + const plate = mesh('shafts', new THREE.RingGeometry(3.0, 14.5, 96), M.satinBlack); + plate.material.side = THREE.DoubleSide; + plate.rotation.x = -Math.PI / 2; + plate.position.y = 16.4; + A.shaft = (s) => P(L.shaftR, azOf(s), 30); + A.lever = (s) => P(12.6, azOf(s), 52); + } + groups.st = st; + + // ================================================================ carriage: knurled ring, top plate, digit drums + grp('carriage'); + const car = groups.carriage; + const wheels = []; + const ctrs = []; + { + const [y0, y1] = L.carY; + const ring = mesh('carriage', cyl(L.carR, L.carR, y1 - y0 - 2, 128, true), M.knurl); + ring.material.normalMap = knurlN.clone(); + ring.material.normalMap.repeat.set(90, 8); + ring.material.side = THREE.DoubleSide; + at(ring, (y0 + y1) / 2); + const lo = [[L.bandR - 0.4, y0], [L.carR - 0.8, y0], [L.carR, y0 + 0.8], [L.carR, y0 + 1.0]].map(([x, y]) => new THREE.Vector2(x, y)); + mesh('carriage', new THREE.LatheGeometry(lo, 128), M.satinBlack); + const hi = [[L.carR, y1 - 1.0], [L.carR, y1 - 0.8], [L.carR - 0.8, y1], [L.carR - 1.0, y1]].map(([x, y]) => new THREE.Vector2(x, y)); + mesh('carriage', new THREE.LatheGeometry(hi, 128), M.satinBlack); + const inner = mesh('carriage', cyl(L.carR - 3.5, L.carR - 3.5, y1 - y0, 96, true), M.dark); + inner.material.side = THREE.DoubleSide; + at(inner, (y0 + y1) / 2); + const plate = mesh('carriage', plateGeom(), M.satinBlack); + plate.material.color.set('#111113'); + // result digit drums, axles lying radially + for (let j = 1; j <= CURTA.result; j++) { + const a = L.A1 - (j - 1) * G.pitch; + const piv = new THREE.Group(); + piv.rotation.y = a * D2R - Math.PI / 2; // local +x radial outward + car.add(piv); + const roll = new THREE.Group(); + roll.position.set(L.wheelAt, L.plateY[0] - L.wheelR + 0.35, 0); + piv.add(roll); + const g = new THREE.CylinderGeometry(L.wheelR, L.wheelR, L.wheelW, 40, 1, false); + g.rotateZ(-Math.PI / 2); + const w = mesh('carriage', g, std({map: resultTex, roughness: 0.5, color: '#ffffff'}), roll); + w.castShadow = false; + // its bevel and stub down to the coupling + const bev = mesh('carriage', new THREE.CylinderGeometry(1.6, 0.9, 1.4, 16), M.brass, roll); + bev.rotation.z = Math.PI / 2; + bev.position.x = -L.wheelW / 2 - 4.4; + const ax = mesh('carriage', new THREE.CylinderGeometry(0.45, 0.45, L.wheelAt - 10, 8), M.steel, piv); + ax.rotation.z = Math.PI / 2; + ax.position.set((L.wheelAt + 10) / 2 - 0.5, roll.position.y, 0); + const stub = mesh('carriage', new THREE.CylinderGeometry(0.8, 0.8, roll.position.y - 63.2, 10), M.steel, piv); + stub.position.set(L.shaftR, (roll.position.y + 63.2) / 2, 0); + wheels.push({j, piv, roll, w}); + } + // counter drums, inner ring, between the result columns + for (let c = 1; c <= CURTA.counter; c++) { + const a = L.A1 - (c - 0.5) * G.pitch; + const piv = new THREE.Group(); + piv.rotation.y = a * D2R - Math.PI / 2; + car.add(piv); + const roll = new THREE.Group(); + roll.position.set(L.ctrAt, L.plateY[0] - L.ctrR + 0.3, 0); + piv.add(roll); + const g = new THREE.CylinderGeometry(L.ctrR, L.ctrR, L.ctrW, 32, 1, false); + g.rotateZ(-Math.PI / 2); + const w = mesh('carriage', g, std({map: ctrTex, roughness: 0.5, color: '#ffffff'}), roll); + w.castShadow = false; + ctrs.push({c, piv, roll, w}); + } + A.result = (j) => { + const v = new V3(L.wheelAt, L.plateY[1], 0); + return wheels[j - 1].piv.localToWorld(v); + }; + A.counter = (c) => ctrs[c - 1].piv.localToWorld(new V3(L.ctrAt, L.plateY[1], 0)); + A.carriage = (a) => P(L.carR, a, 71); + } + + // ================================================================ clearing ring with its fold-out lever + grp('ring'); + { + const y = L.plateY[1]; + const pr = [[L.ringR[0], y], [L.ringR[1] - 0.6, y], [L.ringR[1], y + 0.6], [L.ringR[1], y + 1.0], [L.ringR[1] - 0.6, y + 1.4], [L.ringR[0] + 0.4, y + 1.4], [L.ringR[0], y + 1.0]].map(([x, yy]) => new THREE.Vector2(x, yy)); + mesh('ring', new THREE.LatheGeometry(pr, 128), M.steel); + const lever = new THREE.Group(); + lever.position.copy(P(L.ringR[1] - 0.2, -100, y + 0.8)); + lever.rotation.y = -100 * D2R; + groups.ring.add(lever); + const loop = mesh('ring', new THREE.TorusGeometry(4.2, 0.7, 10, 32), M.steel, lever); + loop.rotation.x = Math.PI / 2; + loop.position.set(0, 0, 3.6); + groups.ringLever = lever; + A.ring = P(L.ringR[1], -100, y + 1); + } + + // ================================================================ crank + grp('crank'); + const crankSpin = new THREE.Group(); + groups.crank.add(crankSpin); + { + const y = L.plateY[1] + 1.4; + const prof = [[0, y], [4.8, y], [5.2, y + 0.6], [5.2, y + 3.4]]; + for (let i = 0; i <= 10; i++) { + const a = (i / 10) * (Math.PI / 2); + prof.push([5.2 * Math.cos(a), y + 3.4 + 4.6 * Math.sin(a)]); + } + mesh('crank', new THREE.LatheGeometry(prof.map(([x, yy]) => new THREE.Vector2(Math.max(0.001, x), yy)), 64), M.satinBlack, crankSpin); + const yA = y + 7.2; + const arm = mesh('crank', new THREE.BoxGeometry(4.4, 2.6, L.crankArm), M.steel, crankSpin); + arm.position.set(0, yA, L.crankArm / 2); + const elbow = mesh('crank', new THREE.CylinderGeometry(2.6, 2.6, 2.6, 24), M.steel, crankSpin); + elbow.position.set(0, yA, L.crankArm); + const knob = mesh('crank', new THREE.CylinderGeometry(3.2, 3.2, 12, 40), M.knurl, crankSpin); + knob.material.normalMap = knurlN.clone(); + knob.material.normalMap.repeat.set(10, 7); + knob.position.set(0, yA + 1.3 + 6.2, L.crankArm); + const cap = mesh('crank', new THREE.SphereGeometry(3.2, 24, 10, 0, Math.PI * 2, 0, Math.PI / 2), M.satinBlack, crankSpin); + cap.scale.y = 0.35; + cap.position.set(0, yA + 1.3 + 12.2, L.crankArm); + const screw = mesh('crank', new THREE.CylinderGeometry(0.8, 0.8, 0.6, 12), M.polished, crankSpin); + screw.position.set(0, y + 8.05, 0); + A.crank = new V3(0, yA + 6, L.crankArm); + A.crankHub = new V3(0, y + 5, 0); + } + // the crank's home: the arm points back-left, clear of the windows in the 3/4 view + const HOME = 205; + + // ---------------------------------------------------------------- contact shadow blob + const blob = new THREE.Mesh( + new THREE.PlaneGeometry(130, 130), + new THREE.MeshBasicMaterial({ + map: new THREE.CanvasTexture( + canvas(256, 256, (g) => { + const gr = g.createRadialGradient(128, 128, 20, 128, 128, 128); + gr.addColorStop(0, 'rgba(30,26,20,0.62)'); + gr.addColorStop(0.32, 'rgba(30,26,20,0.38)'); + gr.addColorStop(0.62, 'rgba(30,26,20,0.08)'); + gr.addColorStop(1, 'rgba(30,26,20,0)'); + g.fillStyle = gr; + g.fillRect(0, 0, 256, 256); + }), + ), + transparent: true, + depthWrite: false, + polygonOffset: true, + polygonOffsetFactor: -2, + polygonOffsetUnits: -4, + }), + ); + blob.rotation.x = -Math.PI / 2; + blob.position.y = 0.05; + blob.renderOrder = -1; + root.add(blob); + groups.blob = blob; + + // ---------------------------------------------------------------- cutaway, glass, ghosts + const HOUSING = ['base', 'shell', 'carriage', 'ring']; + const CLIP = new THREE.Plane(new V3(0, 0, -1), 0); + let cutMode = ''; + const setCut = (mode) => { + if (mode === cutMode) return; + cutMode = mode; + for (const g of HOUSING) + for (const m of mats.get(g)) { + m.clippingPlanes = mode === 'section' ? [CLIP] : null; + m.clipShadows = true; + m.needsUpdate = true; + } + }; + const fadeM = (m, o) => { + const t = o < 0.995; + if (m.transparent !== t) { + m.transparent = t; + m.needsUpdate = true; + } + m.opacity = o; + m.depthWrite = !t || o > 0.6; + }; + const fade = (g, o) => { + for (const m of mats.get(g)) { + const t = o < 0.995; + if (m.transparent !== t) { + m.transparent = t; + m.needsUpdate = true; + } + m.opacity = o; + m.depthWrite = !t || o > 0.6; + } + }; + + // ---------------------------------------------------------------- update: one frame from the model's state + const white = new THREE.Color(1, 1, 1); + const accLit = new THREE.Color('#ffb53a'); + const lastLit = new Set(); + /** + * S: machine state (machine.js state()). fx: {explode 0..1, glass 0..1, cut, clipAz (deg), ghost: {group: o}} + */ + const update = (S, fx) => { + const e = fx.explode ?? 0; + const ex = (v) => v * e; + groups.base.position.y = ex(-56); + groups.shell.position.y = ex(-56); + groups.drum.position.y = S.up * G.shift + ex(0); + groups.shafts.position.y = 0; + groups.carriage.position.y = S.lift * G.lift + ex(24); + groups.ring.position.y = S.lift * G.lift + ex(38); + groups.crank.position.y = S.up * G.shift + S.lift * G.lift + ex(54); + blob.position.y = ex(-56) + 0.05; + blob.material.opacity = 1 - 0.55 * e; + const th = S.theta; + drumSpin.rotation.y = -th * D2R; + crankSpin.rotation.y = (HOME - th) * D2R; + // carriage turned to its position + car.rotation.y = (S.carPos - 1) * G.pitch * D2R; + groups.ring.rotation.y = (S.carPos - 1) * G.pitch * D2R - S.ring * D2R; + groups.ringLever.rotation.x = 0; + groups.ringLever.children[0].position.y = S.phase === 'clear' ? 1.6 * Math.sin(Math.PI * Math.min(1, S.k * 1.2)) : 0; + // digit drums: value v at the top → α = 270° − 36°(v + ½) + for (const w of wheels) w.roll.rotation.x = (270 - 36 * (S.regPos[w.j - 1] + 0.5)) * D2R; + for (const c of ctrs) c.roll.rotation.x = (270 - 36 * (S.ctrPos[c.c - 1] + 0.5)) * D2R; + // sliders, their tapes, forks and gears + for (let i = 0; i < CURTA.sliders; i++) { + const y = yRow(S.setPos[i]); + groups.sliders[i].position.y = y; + const map = groups.sliders[i].userData.win.material.map; + map.offset.y = 0.9 - S.setPos[i] * 0.1; + } + // shafts: each turns with the column above it; its pose comes from the cumulative teeth it has taken + const turn = S.turn; + for (const x of st) { + const d = x.s <= CURTA.sliders ? S.setPos[x.s - 1] : 0; + x.gear.position.y = yRow(d); + if (x.fork) x.fork.position.y = yRow(d); + x.spin.rotation.y = (S.shaft?.[x.s] ?? 0) * 36 * D2R; + if (x.lever) { + const a = S.arms[x.s] ?? 0; + x.lever.rotation.x = -a * 0.42; + x.pin.position.y = 49.6 - 1.3 * a; + } + } + // accent: the teeth working now, the gear and the column they drive, the carry in flight + for (const i of lastLit) groups.teeth.setColorAt(i, white); + lastLit.clear(); + for (const x of st) { + x.gear.material.emissiveIntensity = 0; + x.gear.material.color.set('#a89878'); + if (x.lever) { + x.lever.userData.arm.material.emissiveIntensity = 0; + x.lever.userData.arm.material.color.set('#b9bdc3'); + } + } + for (const w of wheels) w.w.material.emissive?.set(0); + groups.carryTooth.material.emissiveIntensity = 0; + const lit = (m, k = 1) => { + m.color.copy(accentC).lerp(accLit, 0.25); + m.emissive.copy(accentC); + m.emissiveIntensity = 0.45 * k; + }; + const focus = fx.focusStation ?? (turn && S.active?.tooth?.station); + if (turn && focus) { + const s = focus; + const d = s <= CURTA.sliders ? S.set[s - 1] : 0; + const kind = turn.sign > 0 ? 'add' : 'comp'; + for (const t of teeth) { + const row = (t.kind === kind && t.d === d && (kind === 'comp' || d > 0)) || (turn.sign < 0 && s === 1 && t.kind === 'ten'); + if (row) { + groups.teeth.setColorAt(t.i, accLit); + lastLit.add(t.i); + } + } + const x = st[s - 1]; + lit(x.gear.material); + } + for (const x of st) if (x.lever && (S.arms[x.s] ?? 0) > 0.05) lit(x.lever.userData.arm.material, S.arms[x.s]); + if (turn && S.active?.carry) lit(groups.carryTooth.material); + groups.teeth.instanceColor.needsUpdate = true; + // glass and ghosts + const glass = fx.glass ?? 0; + for (const g of HOUSING) fade(g, Math.min(fx.ghost?.[g] ?? 1, 1 - 0.86 * glass)); + for (const g of ['drum', 'shafts', 'crank']) fade(g, fx.ghost?.[g] ?? 1); + // one subsystem isolated: the other stations fade, the working ones stay + const iso = fx.iso ?? 0; + if (iso > 0.001) + for (const x of st) { + const o = Math.min(fx.ghost?.shafts ?? 1, fx.isoStations?.includes(x.s) ? 1 : 1 - 0.86 * iso); + for (const m of x.smats) fadeM(m, o); + } + // the cut faces the camera + const ca = (fx.clipAz ?? 0) * D2R; + CLIP.normal.set(-Math.sin(ca), 0, -Math.cos(ca)); + CLIP.constant = 0; + root.updateMatrixWorld(true); + }; + + return {root, groups, update, setCut, A, mats, teeth, st, wheels, ctrs, HOUSING}; +} + +/** world position (metres) of a model point in mm, before any group transform */ +export const mm = (v) => v.clone().multiplyScalar(0.001); +export {thetaCarry, stationOf}; diff --git a/machines/pepper/curta-shared/film.js b/machines/pepper/curta-shared/film.js new file mode 100644 index 0000000..9b1d049 --- /dev/null +++ b/machines/pepper/curta-shared/film.js @@ -0,0 +1,233 @@ +// Pepper, the explorer film (a Curta Type I after the public sources): the machine (curta.js) on the catalogue stage +// (stage.js) under the spec sheet (console.js). One input, the crank angle θ and the discrete state of the plan +// (schedule.js, machine.js), poses every part, every digit and every carry. An operator sets 1 234, multiplies it by +// 56, takes one turn back with the crank pulled up, clears the machine with the ring. A pure function of t. +import * as THREE from 'three'; +import {runSim} from 'teardown-kit/runtime.js'; +import {createConsole} from './console.js'; +import {L, azOf, yRow} from './curta.js'; +import {G, ss, state} from './machine.js'; +import {DURATION, SCRIPT, beatAt, filmFacts, filmPlan} from './schedule.js'; +import {createStage} from './stage.js'; +import {T as tr} from './i18n.js'; + +export {DURATION, SCRIPT}; +export const DEFAULTS = {duration: DURATION, fps: 60, theme: 'light', hud: {enabled: false, title: 'pepper', subtitle: ''}, director: {enabled: false}, watermark: ''}; +const D2R = Math.PI / 180; +const V3 = THREE.Vector3; +const P = (r, a, y) => new V3(r * Math.sin(a * D2R) * 0.001, y * 0.001, r * Math.cos(a * D2R) * 0.001); +export {ss}; + +// ------------------------------------------------------------ subsystems: a view, a cut, an explosion +export const SUB = { + crank: {view: 'hero', cut: 'solid'}, + sliders: {view: 'sliders', cut: 'solid'}, + drum: {view: 'drumX', cut: 'solid', explode: 1, dof: 1, iso: 1, isoStations: [1, 2, 3, 4]}, + gears: {view: 'gears', cut: 'glass', dof: 0.8, iso: 1, isoStations: [2]}, + carry: {view: 'carry', cut: 'section', dof: 0.7, top: 1}, + carriage: {view: 'top', cut: 'solid'}, + reset: {view: 'reset', cut: 'solid'}, +}; +export const VIEW_CFG = { + hero: {view: 'hero', cut: 'solid'}, + top: {view: 'top', cut: 'solid'}, + macro: {view: 'macro', cut: 'glass', dof: 1, iso: 0.7, isoStations: [1, 2, 3, 4]}, + axial: {view: 'axial', cut: 'section'}, +}; +export const cfgOf = (e) => (e.sub ? {...SUB[e.sub], sub: e.sub, btn: e.sub} : {...VIEW_CFG[e.view], vbtn: e.view, btn: e.view}); + +// ------------------------------------------------------------ views, each a function of u (seconds since it came on) and the state +const cascadeAz = (S) => { + // the camera follows the carry tooth around the drum + const th = S.turn ? S.turn.th : 0; + const s = Math.min(10.5, Math.max(2.5, (th - G.carry0) / G.pitch + 1)); + return azOf(s) + 10; +}; +export const VIEW_FN = { + hero: (u) => ({tx: 0, ty: 0.05, tz: 0, az: 30 + 1.5 * Math.min(u, 8), el: 24 + 0.3 * Math.min(u, 8), d: 0.385, sx: 0, sy: -30}), + sliders: (u) => ({tx: 0, ty: 0.034, tz: 0.004, az: 16 - 1.4 * Math.min(u, 4), el: 7, d: 0.3, sx: 0, sy: -14}), + drumX: (u) => ({tx: 0, ty: 0.042 - 0.004 * ss(0, 6, u), tz: 0, az: 36 - 2.6 * Math.min(u, 7), el: 12 + 1.2 * Math.min(u, 6), d: 0.19 - 0.006 * Math.min(u, 6), sx: 0, sy: -14}), + macro: (u) => ({tx: 0, ty: 0.034, tz: 0, az: 30 - 2 * Math.min(u, 6), el: 12, d: 0.15, sx: 0, sy: 10}), + gears: (u) => { + const p = P(L.shaftR, azOf(2), yRow(3)); + return {tx: p.x, ty: p.y, tz: p.z, az: azOf(2) + 16 - 2 * Math.min(u, 5), el: 10, d: 0.09, sx: 0, sy: 10}; + }, + carry: (u, S) => ({tx: 0, ty: 0.05 - 0.002 * ss(0, 4, u), tz: 0, az: cascadeAz(S), el: 28, d: 0.16, sx: 0, sy: -16}), + top: (u) => ({tx: 0, ty: 0.07, tz: 0.004, az: 8 + 1.0 * Math.min(u, 10), el: 60, d: 0.265, sx: 0, sy: -60}), + axial: (u) => ({tx: 0, ty: 0.047, tz: 0, az: 18 - 1.2 * Math.min(u, 5), el: 6, d: 0.31, sx: 0, sy: -22}), + reset: (u) => ({tx: 0, ty: 0.078, tz: 0, az: -36 + 2.2 * Math.min(u, 6), el: 40, d: 0.28, sx: 0, sy: -22}), +}; +const BEATS = SCRIPT.map((e) => [e.t, cfgOf(e)]); +export function blend(a, b, k) { + const o = {}; + for (const key in b) o[key] = key === 'az' ? a.az + ((((b.az - a.az + 540) % 360) - 180) * k) : key === 'd' ? Math.exp(Math.log(a.d) + (Math.log(b.d) - Math.log(a.d)) * k) : a[key] + (b[key] - a[key]) * k; + return o; +} +const camOf = (i, t, S) => VIEW_FN[BEATS[i][1].view](t - BEATS[i][0], S); +export const camAt = (t, S) => { + let i = 0; + while (i < BEATS.length - 1 && BEATS[i + 1][0] <= t) i++; + const cur = camOf(i, t, S); + if (i === 0) return cur; + const k = ss(BEATS[i][0], BEATS[i][0] + 1.6, t); + return k >= 1 ? cur : blend(camOf(i - 1, t, S), cur, k); +}; +/** cut, glass, explode, dof at t, eased between beats */ +export const fxAt = (t) => { + let i = 0; + while (i < BEATS.length - 1 && BEATS[i + 1][0] <= t) i++; + const c = BEATS[i][1]; + const p = i ? BEATS[i - 1][1] : c; + const k = i ? ss(BEATS[i][0] + 0.2, BEATS[i][0] + 1.7, t) : 1; + const mix = (key) => (p[key] ?? 0) + ((c[key] ?? 0) - (p[key] ?? 0)) * k; + const glass = (x) => (x.cut === 'glass' ? 1 : 0); + return { + cut: k > 0.25 ? c.cut : p.cut, + glass: glass(p) + (glass(c) - glass(p)) * k, + explode: mix('explode'), + dof: mix('dof'), + iso: mix('iso'), + isoStations: (k > 0.5 ? c : p).isoStations ?? c.isoStations, + ghost: {carriage: 1 - 0.9 * mix('top'), ring: 1 - 0.9 * mix('top'), crank: 1 - 0.85 * mix('top')}, + sub: c.sub, + view: c.vbtn, + since: t - BEATS[i][0], + }; +}; + +// ------------------------------------------------------------ the operator's pointer: a click on the button of each beat +const REST = [[820, 470], [760, 520], [880, 440], [700, 500]]; +export function makeCursor(ui, script = SCRIPT) { + const EV = script.filter((e) => e.t > 0).map((e) => ({t: e.t, spot: ui.spots[e.sub || e.view]})); + const WP = [[0, 980, 640]]; + EV.forEach((e, i) => { + WP.push([e.t - 0.16, ...e.spot]); + WP.push([e.t + 0.24, ...e.spot]); + WP.push([e.t + 1.6, ...REST[i % REST.length]]); + }); + WP.sort((a, b) => a[0] - b[0]); + return (t) => { + let i = 0; + while (i < WP.length - 2 && t > WP[i + 1][0]) i++; + const [t0, x0, y0] = WP[i]; + const [t1, x1, y1] = WP[i + 1]; + const k = ss(t0, t1, t); + const len = Math.hypot(x1 - x0, y1 - y0); + const bow = Math.sin(Math.PI * k) * Math.min(24, len * 0.07); + let press = false; + let ring = 0; + let rx = 0; + let ry = 0; + for (const e of EV) { + if (t >= e.t - 0.07 && t < e.t + 0.09) press = true; + if (t >= e.t && t < e.t + 0.55) { + ring = 1 - (t - e.t) / 0.55; + [rx, ry] = e.spot; + } + } + return {x: x0 + (x1 - x0) * k + (len ? (-(y1 - y0) / len) * bow : 0), y: y0 + (y1 - y0) * k + (len ? ((x1 - x0) / len) * bow : 0), press, ring, ringX: rx, ringY: ry}; + }; +} + +// ------------------------------------------------------------ callouts per view +export function calloutsFor(view, st, S, vis) { + const g = st.mac.groups; + const A = st.mac.A; + const W = (grp, v) => g[grp].localToWorld(v.clone()); + const out = []; + const c = (key, at, label, w, acc = false, args = []) => { + const [name, sub] = tr(key, ...args); + out.push({name, sub, at: at && st.project(at), label, w, o: vis, acc}); + }; + if (view === 'hero') { + c('cCrank', W('crank', A.crank), [1210, 120], -160); + c('cCarriage', W('carriage', A.carriage(-40)), [1210, 340], -170); + c('cSliders', W('shell', A.sliders), [390, 470], 170); + } else if (view === 'sliders') { + c('cSlider', W('shell', A.sliders), [390, 150], 170, false, [S.set[2]]); + c('cTape', W('shell', A.band.clone().setY(50)), [1210, 150], -170); + } else if (view === 'drumX' || view === 'macro') { + c('cDrum', W('drum', A.drum), [390, 600], 190, true); + c('cGear', W('shafts', new V3(L.shaftR * Math.sin(azOf(1) * D2R), yRow(S.set[0]), L.shaftR * Math.cos(azOf(1) * D2R))), [1210, 520], -180); + } else if (view === 'gears') { + c('cGear', W('shafts', new V3(L.shaftR * Math.sin(azOf(2) * D2R), yRow(S.set[1]), L.shaftR * Math.cos(azOf(2) * D2R))), [390, 160], 180); + } else if (view === 'carry') { + // the carry in flight, else the last one taken this turn + const cy = S.active?.carry || (S.turn && S.turn.ev.carries.filter((x) => x.at <= S.turn.th).pop()); + if (cy) c('cLever', W('shafts', A.lever(cy.station)), [390, 140], 180, true, [cy.col]); + c('cBell', W('drum', A.drumTop), [390, 640], 180); + } else if (view === 'top') { + c('cResult', A.result(1), [1210, 200], -170); + c('cCounter', A.counter(6), [390, 560], 180); + } else if (view === 'axial') { + c('cRise', W('drum', A.drum), [390, 610], 180, true); + } else if (view === 'reset') { + c('cRing', W('ring', A.ring), [390, 160], 180); + } + return out; +} + +// ------------------------------------------------------------ captions on the film's timeline +export const CAPTIONS = [ + [0, 'c:hero'], + [2.2, 'c:set'], + [4.8, 'c:drum'], + [8.0, 'c:drum2'], + [11.3, 'c:turns'], + [14.9, 'c:carriage'], + [17.7, 'c:turns2'], + [21.2, 'c:pull'], + [22.9, 'c:sub'], + [25.0, 'c:cascade'], + [29.5, 'c:sum'], + [30.8, 'c:clear'], + [34.4, 'c:end'], +]; +export const captionAt = (t, facts) => { + const c = CAPTIONS.filter(([a]) => a <= t).pop(); + return tr(c[1], facts); +}; + +// ------------------------------------------------------------ the film +export function makeFilm() { + return async ({canvas, capture}) => { + const st = createStage({canvas}); + const resize = () => st.resize(1600, 900, capture ? devicePixelRatio || 1 : Math.min(devicePixelRatio || 1, 2)); + resize(); + const ui = createConsole(document.getElementById('app')); + const cursorAt = makeCursor(ui); + if (window.__SIM_CONFIG?.clean) ui.root.style.display = 'none'; + const plan = filmPlan(); + const facts = filmFacts(plan); + const lastHist = plan.steps.find((s) => s.kind === 'clear').s0.hist; + window.PEPPER = {st, plan}; + return { + resize, + render(t) { + const S = state(plan, t); + const fx = fxAt(t); + const c = camAt(t, S); + st.setCut(fx.cut); + st.frame(S, {...fx}, {...c, az: c.az * D2R, el: c.el * D2R}); + const b = beatAt(t); + const view = cfgOf(b).view; + ui.update({ + S, + sub: fx.sub, + view: fx.view, + cut: fx.cut, + explode: fx.explode, + paused: false, + lastHist: t > 30.8 ? lastHist : null, + callouts: calloutsFor(view, st, S, ss(1.3, 2.0, fx.since) * (1 - ss(-0.5, 0, t - (SCRIPT.find((e) => e.t > t)?.t ?? 99)))), + cursor: cursorAt(t), + caption: captionAt(t, facts), + handNote: tr('handFilm'), + }); + return {}; + }, + }; + }; +} + +export const run = () => runSim(DEFAULTS, makeFilm()); diff --git a/machines/pepper/curta-shared/i18n.js b/machines/pepper/curta-shared/i18n.js new file mode 100644 index 0000000..4fa8fd1 --- /dev/null +++ b/machines/pepper/curta-shared/i18n.js @@ -0,0 +1,149 @@ +// Every word on screen, in English (the default), French and Spanish. The language itself, the number format and the +// strings of the page's header and footer are shared by the collection (../../../shared/i18n.js). +import {LANG, LANGS, makeT, nf} from '../../../shared/i18n.js'; + +export {LANG, LANGS, nf}; + +const b = (x) => `${x}`; +const S = { + // ------------------------------------------------------------ the sheet + title: {en: 'Pepper', fr: 'Pepper', es: 'Pepper'}, + subtitle: {en: 'CURTA TYPE I · CURT HERZSTARK · 1948', fr: 'CURTA TYPE I · CURT HERZSTARK · 1948', es: 'CURTA TIPO I · CURT HERZSTARK · 1948'}, + model: { + en: 'A model after the public sources · not affiliated with any maker or rights holder', + fr: 'Modèle d’après les sources publiques · sans lien avec un fabricant ni un ayant droit', + es: 'Modelo según las fuentes públicas · sin relación con ningún fabricante ni titular de derechos', + }, + sheet: {en: 'Technical sheet', fr: 'Fiche technique', es: 'Ficha técnica'}, + specReg: {en: 'Setting · counter · result', fr: 'Inscription · tours · totalisateur', es: 'Inscripción · vueltas · totalizador'}, + specDia: {en: 'Diameter', fr: 'Diamètre', es: 'Diámetro'}, + specH: {en: 'Height', fr: 'Hauteur', es: 'Altura'}, + specHv: {en: (h, c) => `${h} mm · ${c} with crank`, fr: (h, c) => `${h} mm · ${c} avec manivelle`, es: (h, c) => `${h} mm · ${c} con manivela`}, + specMass: {en: 'Mass', fr: 'Masse', es: 'Masa'}, + specMade: {en: 'Made', fr: 'Fabriquées', es: 'Fabricadas'}, + specMadev: {en: (n, a, z) => `~${n} · ${a}–${z}`, fr: (n, a, z) => `~${n} · ${a}–${z}`, es: (n, a, z) => `~${n} · ${a}–${z}`}, + specII: {en: 'Type II, for comparison', fr: 'Type II, pour comparer', es: 'Tipo II, para comparar'}, + // ------------------------------------------------------------ the turn + turnTitle: {en: 'One turn of the crank', fr: 'Un tour de manivelle', es: 'Una vuelta de manivela'}, + chartLegend: { + en: (a) => `Rows: the 11 result columns. ▮ a drum tooth turning the column’s gear  ● its carry, taken from the column below. The counter steps at 338°.`, + fr: (a) => `Lignes : les 11 colonnes du totalisateur. ▮ une dent du tambour qui tourne la roue de la colonne  ● son report, reçu de la colonne d’en dessous. Le compteur avance à 338°.`, + es: (a) => `Filas: las 11 columnas del totalizador. ▮ un diente del tambor que gira la rueda de la columna  ● su acarreo, recibido de la columna de abajo. El contador avanza a 338°.`, + }, + modeAdd: {en: 'ADDITION', fr: 'ADDITION', es: 'SUMA'}, + modeSub: {en: 'SUBTRACTION', fr: 'SOUSTRACTION', es: 'RESTA'}, + turnOf: {en: (n, m) => `TURN ${n} OF ${m}`, fr: (n, m) => `TOUR ${n} SUR ${m}`, es: (n, m) => `VUELTA ${n} DE ${m}`}, + posN: {en: (p) => `POSITION ${p}`, fr: (p) => `POSITION ${p}`, es: (p) => `POSICIÓN ${p}`}, + crankDown: {en: 'CRANK DOWN · ADDS', fr: 'MANIVELLE BASSE · ADDITIONNE', es: 'MANIVELA ABAJO · SUMA'}, + crankUp: {en: 'CRANK UP · SUBTRACTS', fr: 'MANIVELLE HAUTE · SOUSTRAIT', es: 'MANIVELA ARRIBA · RESTA'}, + overflow: {en: 'OFF THE TOP', fr: 'HORS CAPACITÉ', es: 'FUERA DE CAPACIDAD'}, + // ------------------------------------------------------------ the hand + grpHand: {en: 'YOUR HAND', fr: 'VOTRE MAIN', es: 'TU MANO'}, + 'act:turn': {en: '↻ Turn', fr: '↻ Un tour', es: '↻ Una vuelta'}, + 'act:pull': {en: 'Crank up', fr: 'Manivelle haute', es: 'Manivela arriba'}, + 'act:carL': {en: '◂ Carriage', fr: '◂ Chariot', es: '◂ Carro'}, + 'act:carR': {en: 'Carriage ▸', fr: 'Chariot ▸', es: 'Carro ▸'}, + 'act:clear': {en: 'Clear', fr: 'Effacer', es: 'Borrar'}, + 'act:pause': {en: 'Pause', fr: 'Pause', es: 'Pausa'}, + 'act:play': {en: 'Play', fr: 'Lecture', es: 'Seguir'}, + handFilm: { + en: 'Set a digit by clicking the setting drums (top, right), turn, shift, clear. Keys: space turn, U crank, ← → carriage.', + fr: 'Inscrivez un chiffre en cliquant les tambours d’inscription (en haut à droite), tournez, décalez, effacez. Touches : espace tour, U manivelle, ← → chariot.', + es: 'Inscribe una cifra haciendo clic en los tambores de inscripción (arriba a la derecha), gira, desplaza, borra. Teclas: espacio vuelta, U manivela, ← → carro.', + }, + handFull: {en: 'The carriage holds 6 positions.', fr: 'Le chariot a 6 positions.', es: 'El carro tiene 6 posiciones.'}, + // ------------------------------------------------------------ registers + regResult: {en: 'Result', fr: 'Totalisateur', es: 'Totalizador'}, + regCtr: {en: 'Turns counter', fr: 'Compteur de tours', es: 'Contador de vueltas'}, + regSet: {en: 'Setting', fr: 'Inscription', es: 'Inscripción'}, + opTitle: {en: 'The operation, by hand', fr: 'L’opération, à la main', es: 'La operación, a mano'}, + opAddSide: {en: (p) => `SETTING × 10^${p - 1}`, fr: (p) => `INSCRIPTION × 10^${p - 1}`, es: (p) => `INSCRIPCIÓN × 10^${p - 1}`}, + opSubSide: {en: 'TEN’S COMPLEMENT', fr: 'COMPLÉMENT À DIX', es: 'COMPLEMENTO A DIEZ'}, + addNote: { + en: (s, p, v) => `Each column takes as many teeth as its slider shows: ${s} in position ${p} adds ${b(v)}.`, + fr: (s, p, v) => `Chaque colonne reçoit autant de dents que son curseur l’indique : ${s} en position ${p} ajoute ${b(v)}.`, + es: (s, p, v) => `Cada columna recibe tantos dientes como marca su cursor: ${s} en posición ${p} suma ${b(v)}.`, + }, + compNote: { + en: (v, a) => `To take away ${b(v)} it adds 1011 − ${v}: 9 − d teeth in every column, 10 − d in the first (the 9’s complement + 1). The 1 that falls off the top is lost.`, + fr: (v, a) => `Pour retrancher ${b(v)}, elle ajoute 1011 − ${v} : 9 − d dents par colonne, 10 − d sur la première (le complément à 9, plus 1). Le 1 qui sort par le haut est perdu.`, + es: (v, a) => `Para quitar ${b(v)} suma 1011 − ${v}: 9 − d dientes por columna, 10 − d en la primera (el complemento a 9, más 1). El 1 que sale por arriba se pierde.`, + }, + upNote: { + en: (a) => `Crank up: the drum has risen 1.2 mm, its complement rows face the gears.`, + fr: (a) => `Manivelle haute : le tambour est monté de 1,2 mm, ses rangées de complément font face aux roues.`, + es: (a) => `Manivela arriba: el tambor ha subido 1,2 mm, sus filas de complemento quedan frente a las ruedas.`, + }, + histTurns: {en: (n, p) => `${n} turn${n > 1 ? 's' : ''} · pos. ${p}`, fr: (n, p) => `${n} tour${n > 1 ? 's' : ''} · pos. ${p}`, es: (n, p) => `${n} vuelta${n > 1 ? 's' : ''} · pos. ${p}`}, + // ------------------------------------------------------------ buttons + grpSub: {en: 'SUBSYSTEMS', fr: 'SOUS-SYSTÈMES', es: 'SUBSISTEMAS'}, + 'sub:crank': {en: 'Crank', fr: 'Manivelle', es: 'Manivela'}, + 'sub:sliders': {en: 'Setting sliders', fr: 'Curseurs d’inscription', es: 'Cursores de inscripción'}, + 'sub:drum': {en: 'Stepped drum', fr: 'Tambour à gradins', es: 'Tambor escalonado'}, + 'sub:gears': {en: 'Counting gears', fr: 'Roues de comptage', es: 'Ruedas de conteo'}, + 'sub:carry': {en: 'Carries', fr: 'Reports', es: 'Acarreos'}, + 'sub:carriage': {en: 'Carriage & counters', fr: 'Chariot & compteurs', es: 'Carro y contadores'}, + 'sub:reset': {en: 'Clearing', fr: 'Remise à zéro', es: 'Puesta a cero'}, + grpCut: {en: 'BODY', fr: 'CORPS', es: 'CUERPO'}, + 'cut:solid': {en: 'Solid', fr: 'Pleine', es: 'Entera'}, + 'cut:glass': {en: 'Glass', fr: 'Verre', es: 'Cristal'}, + 'cut:section': {en: 'Axial section', fr: 'Section axiale', es: 'Sección axial'}, + 'cut:explode': {en: 'Exploded', fr: 'Éclatée', es: 'Despiece'}, + grpView: {en: 'VIEW', fr: 'VUE', es: 'VISTA'}, + 'view:hero': {en: 'In the hand', fr: 'En main', es: 'En la mano'}, + 'view:top': {en: 'Top', fr: 'Dessus', es: 'Arriba'}, + 'view:macro': {en: 'Drum macro', fr: 'Macro tambour', es: 'Macro tambor'}, + 'view:axial': {en: 'Axial cut', fr: 'Coupe axiale', es: 'Corte axial'}, + hint: {en: 'DRAG TO TURN IT · WHEEL TO ZOOM · H HIDES THE SHEET', fr: 'GLISSER POUR TOURNER · MOLETTE POUR ZOOMER · H MASQUE LA FICHE', es: 'ARRASTRA PARA GIRAR · RUEDA PARA ACERCAR · H OCULTA LA FICHA'}, + // ------------------------------------------------------------ callouts [name, sub] + cCrank: {en: ['Crank', 'CLOCKWISE ONLY · PULL UP TO SUBTRACT'], fr: ['Manivelle', 'SENS HORAIRE · TIRÉE POUR SOUSTRAIRE'], es: ['Manivela', 'SOLO HORARIO · ARRIBA PARA RESTAR']}, + cCarriage: {en: ['Carriage', 'RESULT 11 · COUNTER 6 · 6 POSITIONS'], fr: ['Chariot', 'TOTALISATEUR 11 · COMPTEUR 6 · 6 POSITIONS'], es: ['Carro', 'TOTALIZADOR 11 · CONTADOR 6 · 6 POSICIONES']}, + cSliders: {en: ['Setting sliders', '8 · 0 AT THE TOP, 9 AT THE BOTTOM'], fr: ['Curseurs', '8 · 0 EN HAUT, 9 EN BAS'], es: ['Cursores', '8 · 0 ARRIBA, 9 ABAJO']}, + cSlider: {en: (d) => ['Slider 3', `SET TO ${d}: ITS GEAR ON ROW ${d}`], fr: (d) => ['Curseur 3', `SUR ${d} : SA ROUE SUR LA RANGÉE ${d}`], es: (d) => ['Cursor 3', `EN ${d}: SU RUEDA EN LA FILA ${d}`]}, + cTape: {en: ['Setting windows', 'THE DIGIT EACH SLIDER SETS'], fr: ['Fenêtres d’inscription', 'LE CHIFFRE DE CHAQUE CURSEUR'], es: ['Ventanas de inscripción', 'LA CIFRA DE CADA CURSOR']}, + cDrum: {en: ['Stepped drum', '9 ADD ROWS · 9 COMPLEMENT · 1 OF TEN'], fr: ['Tambour à gradins', '9 RANGS ADDITION · 9 COMPLÉMENT · 1 DE DIX'], es: ['Tambor escalonado', '9 FILAS SUMA · 9 COMPLEMENTO · 1 DE DIEZ']}, + cGear: {en: ['Counting gear', 'SLIDES ON ITS SQUARE SHAFT'], fr: ['Roue de comptage', 'GLISSE SUR SON AXE CARRÉ'], es: ['Rueda de conteo', 'SE DESLIZA EN SU EJE CUADRADO']}, + cResultWheel: {en: ['Result drum, column 1', 'ONE TOOTH = ONE DIGIT'], fr: ['Tambour du totalisateur, colonne 1', 'UNE DENT = UN CHIFFRE'], es: ['Tambor del totalizador, columna 1', 'UN DIENTE = UNA CIFRA']}, + cLever: {en: (j) => ['Carry lever', `9 → 0 BELOW · COLUMN ${j} TAKES 1`], fr: (j) => ['Bras de report', `9 → 0 EN DESSOUS · LA COLONNE ${j} PREND 1`], es: (j) => ['Palanca de acarreo', `9 → 0 DEBAJO · LA COLUMNA ${j} TOMA 1`]}, + cBell: {en: ['Carry bell', 'ONE TOOTH, COLUMN AFTER COLUMN'], fr: ['Cloche des reports', 'UNE DENT, COLONNE APRÈS COLONNE'], es: ['Campana de acarreos', 'UN DIENTE, COLUMNA TRAS COLUMNA']}, + cResult: {en: ['Result', '11 DIGITS'], fr: ['Totalisateur', '11 CHIFFRES'], es: ['Totalizador', '11 CIFRAS']}, + cCounter: {en: ['Turns counter', '6 DIGITS · COUNTS AT THE CARRIAGE’S POSITION'], fr: ['Compteur de tours', '6 CHIFFRES · COMPTE À LA POSITION DU CHARIOT'], es: ['Contador de vueltas', '6 CIFRAS · CUENTA EN LA POSICIÓN DEL CARRO']}, + cRise: {en: ['The drum, raised 1.2 mm', 'COMPLEMENT ROWS ENGAGED'], fr: ['Le tambour, monté de 1,2 mm', 'RANGÉES DE COMPLÉMENT EN PRISE'], es: ['El tambor, subido 1,2 mm', 'FILAS DE COMPLEMENTO ENGRANADAS']}, + cRing: {en: ['Clearing ring', 'ONE TURN CLEARS BOTH REGISTERS'], fr: ['Anneau de remise à zéro', 'UN TOUR EFFACE LES DEUX REGISTRES'], es: ['Anillo de puesta a cero', 'UNA VUELTA BORRA LOS DOS REGISTROS']}, + // ------------------------------------------------------------ captions + 'c:hero': {en: 'A whole calculator in one hand: 8 sliders, 6 counter digits, 11 result digits.', fr: 'Une calculatrice entière dans la main : 8 curseurs, 6 chiffres de tours, 11 de résultat.', es: 'Una calculadora entera en la mano: 8 cursores, 6 cifras de vueltas, 11 de resultado.'}, + 'c:set': {en: (f) => `The sliders set ${nf(f.set)}: each takes its gear to the row of its digit.`, fr: (f) => `Les curseurs inscrivent ${nf(f.set)} : chacun mène sa roue à la rangée de son chiffre.`, es: (f) => `Los cursores inscriben ${nf(f.set)}: cada uno lleva su rueda a la fila de su cifra.`}, + 'c:drum': {en: 'One stepped drum for every column: the gear on 4 meets 4 teeth.', fr: 'Un seul tambour à gradins pour toutes les colonnes : la roue sur 4 rencontre 4 dents.', es: 'Un solo tambor escalonado para todas las columnas: la rueda en 4 encuentra 4 dientes.'}, + 'c:drum2': {en: 'It serves the gears one after another; one tooth, one digit.', fr: 'Il sert les roues l’une après l’autre ; une dent, un chiffre.', es: 'Sirve las ruedas una tras otra; un diente, una cifra.'}, + 'c:turns': {en: (f) => `Six turns in position 1: ${nf(f.set)} × ${nf(f.m1)}. The counter counts them.`, fr: (f) => `Six tours en position 1 : ${nf(f.set)} × ${nf(f.m1)}. Le compteur les compte.`, es: (f) => `Seis vueltas en posición 1: ${nf(f.set)} × ${nf(f.m1)}. El contador las cuenta.`}, + 'c:carriage': {en: 'Lift the carriage, one notch, drop it: each turn now counts ten.', fr: 'Le chariot soulevé, tourné d’un cran, reposé : chaque tour compte dix.', es: 'El carro levantado, girado una muesca, bajado: cada vuelta cuenta diez.'}, + 'c:turns2': {en: (f) => `Five turns in position 2: ${nf(f.set)} × ${nf(f.m2)} = ${nf(f.r1)}.`, fr: (f) => `Cinq tours en position 2 : ${nf(f.set)} × ${nf(f.m2)} = ${nf(f.r1)}.`, es: (f) => `Cinco vueltas en posición 2: ${nf(f.set)} × ${nf(f.m2)} = ${nf(f.r1)}.`}, + 'c:pull': {en: 'Crank pulled up: the drum rises half a row, its complement teeth engage.', fr: 'Manivelle tirée : le tambour monte d’une demi-rangée, les dents de complément engrènent.', es: 'Manivela arriba: el tambor sube media fila, engranan los dientes de complemento.'}, + 'c:sub': {en: 'It subtracts by adding: 9 − d teeth in each column, 10 − d in the first.', fr: 'Elle soustrait en additionnant : 9 − d dents par colonne, 10 − d sur la première.', es: 'Resta sumando: 9 − d dientes por columna, 10 − d en la primera.'}, + 'c:cascade': {en: 'Each 9 → 0 drops the next lever; the carry tooth takes them in order.', fr: 'Chaque 9 → 0 abaisse le bras suivant ; la dent de report les prend dans l’ordre.', es: 'Cada 9 → 0 baja la palanca siguiente; el diente de acarreo las toma en orden.'}, + 'c:sum': {en: (f) => `${nf(f.r1)} − ${nf(f.sub)} = ${nf(f.r2)}. The counter went back to ${nf(f.c2)}.`, fr: (f) => `${nf(f.r1)} − ${nf(f.sub)} = ${nf(f.r2)}. Le compteur est revenu à ${nf(f.c2)}.`, es: (f) => `${nf(f.r1)} − ${nf(f.sub)} = ${nf(f.r2)}. El contador volvió a ${nf(f.c2)}.`}, + 'c:clear': {en: 'Lift the carriage, one turn of the ring: both registers back to zero.', fr: 'Chariot soulevé, un tour d’anneau : les deux registres reviennent à zéro.', es: 'Carro levantado, una vuelta del anillo: los dos registros vuelven a cero.'}, + 'c:end': {en: (f) => `${nf(f.set)} × ${nf(f.c2)} = ${nf(f.r2)}: six turns, five turns, one back.`, fr: (f) => `${nf(f.set)} × ${nf(f.c2)} = ${nf(f.r2)} : six tours, cinq tours, un en arrière.`, es: (f) => `${nf(f.set)} × ${nf(f.c2)} = ${nf(f.r2)}: seis vueltas, cinco vueltas, una atrás.`}, + // live captions + 'l:idle': {en: 'Set a number, then turn the crank.', fr: 'Inscrivez un nombre, puis tournez la manivelle.', es: 'Inscribe un número y gira la manivela.'}, + 'l:add': {en: (n) => `Adding ${n}.`, fr: (n) => `Addition de ${n}.`, es: (n) => `Sumando ${n}.`}, + 'l:sub': {en: (n) => `Subtracting ${n} by its ten’s complement.`, fr: (n) => `Soustraction de ${n} par son complément à dix.`, es: (n) => `Restando ${n} por su complemento a diez.`}, + 'l:carriage': {en: (p) => `The carriage to position ${p}.`, fr: (p) => `Le chariot en position ${p}.`, es: (p) => `El carro a la posición ${p}.`}, + 'l:clear': {en: 'Clearing both registers.', fr: 'Remise à zéro des deux registres.', es: 'Puesta a cero de los dos registros.'}, + 'l:slide': {en: 'Setting.', fr: 'Inscription.', es: 'Inscripción.'}, + 'l:crank': {en: 'The crank changes mode.', fr: 'La manivelle change de mode.', es: 'La manivela cambia de modo.'}, + // ------------------------------------------------------------ the live page + tourOn: {en: 'AUTO TOUR · CLICK TO TAKE OVER', fr: 'VISITE AUTO · CLIQUER POUR PRENDRE LA MAIN', es: 'VISITA AUTOMÁTICA · CLIC PARA TOMAR EL CONTROL'}, + tourOff: {en: '▶ RESUME THE TOUR', fr: '▶ REPRENDRE LA VISITE', es: '▶ REANUDAR LA VISITA'}, + turnPhone: {en: 'Turn your phone sideways for the full sheet', fr: 'Tournez le téléphone pour la fiche complète', es: 'Gira el teléfono para ver la ficha completa'}, + docTitle: {en: 'Pepper · the Curta calculator, taken apart', fr: 'Pepper · la calculatrice Curta, démontée', es: 'Pepper · la calculadora Curta, desmontada'}, + footCredit: { + en: 'A Curta Type I after the public sources, not affiliated with any maker or rights holder', + fr: 'Une Curta Type I d’après les sources publiques, sans lien avec un fabricant ni un ayant droit', + es: 'Una Curta Tipo I según las fuentes públicas, sin relación con ningún fabricante ni titular de derechos', + }, +}; + +/** the string for key in the page's language; extra arguments fill a templated one */ +export const T = makeT(S); +export const STRINGS = S; diff --git a/machines/pepper/curta-shared/live.js b/machines/pepper/curta-shared/live.js new file mode 100644 index 0000000..ed8b3d2 --- /dev/null +++ b/machines/pepper/curta-shared/live.js @@ -0,0 +1,452 @@ +// Pepper (a Curta Type I after the public sources) as a page you drive: the film's machine and sheet, run in real +// time. Your hand: one turn of the crank, the crank pulled up or pushed down, the carriage one notch either way, the +// clearing ring, the setting drums (click the upper half of a digit for +1, the lower half for −1). The subsystem +// buttons open each part (view, cut, explosion, isolation); the body can be solid, glass, cut or exploded; drag to +// turn the machine, wheel to zoom, H to hide the sheet. Every action becomes a step of the same plan the film uses +// (machine.js), so every digit and every carry still comes from the model. Left alone it plays the film as an auto +// tour with the operator's cursor, looped; a click, drag, wheel or key hands control to the visitor, 25 s of quiet +// hands it back. +import {warmComposer} from 'teardown-kit/warm.js'; +import {ACTS, CUTS, SUBS, VIEWS, createConsole} from './console.js'; +import {SUB, VIEW_CFG, VIEW_FN, calloutsFor, camAt, captionAt, fxAt, makeCursor} from './film.js'; +import {CURTA, createPlan, fromDigits, state, turnEvents} from './machine.js'; +import {DURATION, SCRIPT, beatAt, filmFacts, filmPlan} from './schedule.js'; +import {createStage} from './stage.js'; +import {createChrome} from '../../../shared/chrome.js'; +import {LANG, nf, T as tr} from './i18n.js'; + +const W = 1600; +const H = 900; +const IDLE = 25; +const D2R = Math.PI / 180; +const clamp = (x, a, b) => Math.min(b, Math.max(a, x)); +const wrap = (d) => ((((d + 180) % 360) + 360) % 360) - 180; +const ss = (a, b, t) => { + const u = clamp((t - a) / (b - a), 0, 1); + return u * u * (3 - 2 * u); +}; + +const CSS = (top) => ` +html,body{margin:0;background:#e9e7e2 linear-gradient(#efeeea,#e9e7e2 58%,#dedbd4) fixed;overflow:hidden} +#app{position:absolute!important;inset:auto!important;left:0;top:0;width:${W}px;height:${H}px;transform-origin:0 0} +#gl{touch-action:none;cursor:grab} +#gl.drag{cursor:grabbing} +.tb{pointer-events:auto;cursor:pointer} +.tb:hover{border-color:#8a877f} +.hit{position:absolute;pointer-events:auto;cursor:pointer} +.tourchip{position:absolute;left:800px;top:${18 + top}px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;height:22px;padding:0 12px;border:1px solid #d9d5cc;border-radius:11px;background:rgba(246,244,239,.95);color:#1b1a17;font:600 9px Inter,sans-serif;letter-spacing:1.3px;white-space:nowrap;cursor:pointer;pointer-events:auto} +.tourchip i{display:block;width:6px;height:6px;border-radius:50%;background:#b07a1c} +.tourchip.on i{animation:blink 1.2s steps(2) infinite} +@keyframes blink{50%{opacity:.15}} +.turn{position:fixed;left:0;right:0;bottom:18px;text-align:center;font:600 12px/1.4 Inter,sans-serif;letter-spacing:1px;color:#8a877f;text-transform:uppercase;display:none} +@media (orientation:portrait) and (max-width:820px){.turn{display:block}} +`; + +export function runLive() { + const style = document.createElement('style'); + style.textContent = CSS(0); + document.head.appendChild(style); + document.title = tr('docTitle'); + document.documentElement.lang = LANG; + const app = document.getElementById('app'); + const canvas = document.createElement('canvas'); + canvas.id = 'gl'; + app.appendChild(canvas); + const st = createStage({canvas}); + const ui = createConsole(app); + const tourCursor = makeCursor(ui); + + // ------------------------------------------------------------ quality tiers + const TIERS = [ + {samples: 8, ao: true, shadow: 2048, dof: true, pr: 2}, + {samples: 4, ao: false, shadow: 1024, dof: true, pr: 1.5}, + {samples: 2, ao: false, shadow: 1024, dof: false, pr: 1}, + ]; + const light = matchMedia('(pointer: coarse)').matches || Math.min(innerWidth, innerHeight) < 700; + let tier = light ? 2 : 0; + let scale = 1; + const chrome = createChrome({slug: 'pepper', name: 'Pepper', credit: tr('footCredit')}); + const fit = () => { + const {top, bottom} = chrome.heights(); + const h = innerHeight - top - bottom; + scale = Math.min(innerWidth / W, h / H); + app.style.transform = `translate(${(innerWidth - W * scale) / 2}px, ${top + (h - H * scale) / 2}px) scale(${scale})`; + st.resize(W, H, clamp((devicePixelRatio || 1) * scale, 0.75, TIERS[tier].pr)); + }; + const applyTier = () => { + const {pr, ...q} = TIERS[tier]; + st.setQuality(q); + fit(); + }; + applyTier(); + addEventListener('resize', fit); + const tourChip = document.createElement('div'); + tourChip.className = 'tourchip'; + ui.root.appendChild(tourChip); + const note = document.createElement('div'); + note.className = 'turn'; + note.textContent = tr('turnPhone'); + document.body.appendChild(note); + + // ------------------------------------------------------------ the plans: the film's (the tour) and the visitor's + const film = filmPlan(); + const facts = filmFacts(film); + const filmHist = film.steps.find((s) => s.kind === 'clear').s0.hist; + let T = 0; + let mT = 0; // the machine's clock (stops on pause) + let plan = null; // the visitor's plan, on the machine clock + let handoff = null; // {t1, cyc0, T0}: the film's step still finishing after a takeover + const snap = (s) => ({set: s.set.slice(), up: s.up, p: s.p, reg: s.reg.slice(), ctr: s.ctr.slice(), arms: s.arms.slice(), shaft: s.shaft.slice(), turnsDone: s.turnsDone, hist: s.hist.slice()}); + + // ------------------------------------------------------------ state + let paused = false; + let sub = 'crank'; + let vbtn = null; + let view = 'hero'; + let viewAt = 0; + let cut = 'solid'; + let explodeOn = 0; + const cfg = {...SUB.crank}; + const fxs = {glass: 0, explode: 0, dof: 0, iso: 0, top: 0}; + const off = {az: 0, el: 0, k: 1}; + const cam = {...VIEW_FN.hero(0)}; + let ring = {t: -9, x: 0, y: 0}; + let hidden = false; + const pulse = (x, y) => (ring = {t: T, x, y}); + const pulseBtn = (k) => ui.spots[k] && pulse(...ui.spots[k]); + let handNote = tr('handFilm'); + + // ------------------------------------------------------------ the tour + const AP = {on: true, t0: 0, loop: 0}; + let lastInput = 0; + const startTour = () => { + AP.on = true; + AP.t0 = T; + AP.loop = 0; + paused = false; + Object.assign(off, {az: 0, el: 0, k: 1}); + }; + const takeOver = () => { + lastInput = T; + if (!AP.on) return; + AP.on = false; + const cyc = (T - AP.t0) % DURATION; + const b = beatAt(cyc); + sub = b.sub || null; + vbtn = b.view || null; + Object.assign(cfg, b.sub ? SUB[b.sub] : VIEW_CFG[b.view]); + view = cfg.view; + viewAt = T - (cyc - b.t); + cut = cfg.cut; + explodeOn = cfg.explode ?? 0; + // the machine carries on: the step in progress finishes as in the film, then the visitor's plan takes over + const S = state(film, cyc); + const step = S.step >= 0 && cyc <= film.steps[S.step].t1 ? film.steps[S.step] : null; + mT = 0; + if (step) { + handoff = {t1: step.t1 - cyc, cyc0: cyc}; + plan = createPlan(snap(step.s1)); + } else { + handoff = null; + plan = createPlan(snap(S)); + } + }; + tourChip.addEventListener('pointerdown', (e) => { + e.stopPropagation(); + lastInput = T; + if (AP.on) takeOver(); + else startTour(); + }); + addEventListener('pointerdown', (e) => { + if (e.target !== tourChip) takeOver(); + }); + + // ------------------------------------------------------------ the hand: every action is a step of the plan + const queueAt = () => { + const last = plan.steps[plan.steps.length - 1]; + return Math.max(mT, handoff ? handoff.t1 : 0, last ? last.t1 + 0.04 : 0); + }; + const act = (kind, extra, dur) => { + if (!plan) return; + const t0 = queueAt(); + if (t0 - mT > 4) return; // a long queue: drop the extra clicks + plan.add({kind, t0, t1: t0 + dur, ...extra}); + }; + const end = () => plan.end; + const doTurn = () => act('turns', {n: 1}, 0.62); + const doPull = () => act('crank', {up: !end().up}, 0.45); + const doCar = (dp) => { + const to = end().p + dp; + if (to < 1 || to > CURTA.counter) { + handNote = tr('handFull'); + return; + } + act('carriage', {to}, 1.3); + }; + const doClear = () => act('clear', {}, 2.2); + const doSet = (i, dd) => { + const to = end().set.slice(); + to[i] = (to[i] + dd + 10) % 10; + act('slide', {to}, 0.32); + }; + const ACT = {turn: doTurn, pull: doPull, carL: () => doCar(-1), carR: () => doCar(1), clear: doClear, pause: () => (paused = !paused)}; + for (const k of ACTS) + ui.btn[k].addEventListener('click', () => { + takeOver(); + pulseBtn(k); + ACT[k](); + }); + const setSub = (k) => { + sub = k; + vbtn = null; + Object.assign(cfg, {iso: 0, isoStations: null, top: 0, dof: 0, explode: 0}, SUB[k]); + view = cfg.view; + viewAt = T; + cut = cfg.cut; + explodeOn = cfg.explode ?? 0; + Object.assign(off, {az: 0, el: 0, k: 1}); + }; + for (const k of SUBS) + ui.btn[k].addEventListener('click', () => { + takeOver(); + pulseBtn(k); + setSub(k); + }); + for (const k of VIEWS) + ui.btn[k].addEventListener('click', () => { + takeOver(); + pulseBtn(k); + sub = null; + vbtn = k; + Object.assign(cfg, {iso: 0, isoStations: null, top: 0, dof: 0, explode: 0}, VIEW_CFG[k]); + view = cfg.view; + viewAt = T; + cut = cfg.cut; + explodeOn = 0; + Object.assign(off, {az: 0, el: 0, k: 1}); + }); + for (const k of CUTS) + ui.btn[k].addEventListener('click', () => { + takeOver(); + pulseBtn(k); + cut = k; + }); + ui.btn.explode.addEventListener('click', () => { + takeOver(); + pulseBtn('explode'); + explodeOn = explodeOn > 0.5 ? 0 : 1; + }); + // the setting drums: upper half +1, lower half −1 + for (let i = 0; i < CURTA.sliders; i++) { + const [cx, cy] = ui.setSpots[i]; + const d = document.createElement('div'); + d.className = 'hit'; + Object.assign(d.style, {left: `${cx - 12}px`, top: `${cy - 18}px`, width: '24px', height: '36px'}); + d.title = '+1 / −1'; + d.addEventListener('click', (e) => { + takeOver(); + const r = d.getBoundingClientRect(); + doSet(i, e.clientY < r.top + r.height / 2 ? 1 : -1); + pulse(cx, cy); + }); + ui.root.appendChild(d); + ui.setHit = ui.setHit || []; + ui.setHit.push(d); + } + addEventListener('keydown', (e) => { + if (e.altKey || e.ctrlKey || e.metaKey) return; + const key = e.key.toLowerCase(); + takeOver(); + if (key === ' ') doTurn(); + else if (key === 'u') doPull(); + else if (key === 'arrowleft') doCar(-1); + else if (key === 'arrowright') doCar(1); + else if (key === 'c') doClear(); + else if (key === 'h') hidden = !hidden; + else if (key === 'p') paused = !paused; + else if (/^[1-7]$/.test(key)) setSub(SUBS[+key - 1]); + else return; + e.preventDefault(); + }); + let drag = null; + canvas.addEventListener('pointerdown', (e) => { + drag = {x: e.clientX, y: e.clientY}; + canvas.setPointerCapture(e.pointerId); + canvas.classList.add('drag'); + }); + canvas.addEventListener('pointermove', (e) => { + if (!drag) return; + off.az -= ((e.clientX - drag.x) / scale) * 0.3; + off.el = clamp(off.el + ((e.clientY - drag.y) / scale) * 0.2, -20, 60); + drag = {x: e.clientX, y: e.clientY}; + lastInput = T; + }); + const endDrag = () => { + drag = null; + canvas.classList.remove('drag'); + }; + canvas.addEventListener('pointerup', endDrag); + canvas.addEventListener('pointercancel', endDrag); + canvas.addEventListener( + 'wheel', + (e) => { + e.preventDefault(); + takeOver(); + off.k = clamp(off.k * Math.exp(e.deltaY * 0.0012), 0.35, 2.5); + }, + {passive: false}, + ); + + // the next turn's chart, between turns: what one more turn would do + let preview = {key: '', ev: null}; + const nextEv = (S) => { + const key = `${S.reg.join('')}|${S.ctr.join('')}|${S.set.join('')}|${S.p}|${S.up}`; + if (key !== preview.key) preview = {key, ev: turnEvents(S.reg, S.ctr, S.set, S.p, S.up > 0.5 ? -1 : 1)}; + return preview.ev; + }; + + // ------------------------------------------------------------ the frame + startTour(); + let last = performance.now(); + const perf = {n: 0, sum: 0, slow: 0, age: 0}; + const frame = (now) => { + const dt = Math.min(0.1, Math.max(0, (now - last) / 1000)); + last = now; + T += dt; + if (tier < TIERS.length - 1) { + perf.age += dt; + if (perf.age > 0.6) { + perf.sum += dt; + perf.n++; + if (perf.sum >= 0.5 && perf.n >= 6) { + perf.slow = perf.sum / perf.n > 0.022 ? perf.slow + 1 : 0; + perf.sum = 0; + perf.n = 0; + if (perf.slow >= (perf.age < 6 ? 1 : 2)) { + tier++; + applyTier(); + Object.assign(perf, {age: 0, slow: 0}); + } + } + } + } + + let S; + let tgt; + let fx; + let cursor; + let caption; + let since; + let hist = null; + if (AP.on) { + const c = T - AP.t0; + const loop = Math.floor(c / DURATION); + const cyc = c - loop * DURATION; + if (loop > AP.loop) AP.loop = loop; + S = state(film, cyc); + tgt = camAt(cyc, S); + const f = fxAt(cyc); + fx = f; + cut = f.cut; + sub = f.sub; + vbtn = f.view; + const b = beatAt(cyc); + view = (b.sub ? SUB[b.sub] : VIEW_CFG[b.view]).view; + since = f.since; + cursor = tourCursor(cyc); + if (AP.loop > 0 && cyc < 0.8) { + const e = tourCursor(DURATION - 0.01); + const k = ss(0, 0.8, cyc); + cursor = {...cursor, x: e.x + (cursor.x - e.x) * k, y: e.y + (cursor.y - e.y) * k}; + } + caption = captionAt(cyc, facts); + if (cyc > 30.8) hist = filmHist; + Object.assign(fxs, {glass: f.glass, explode: f.explode, dof: f.dof, iso: f.iso, top: 1 - f.ghost.carriage}); + tgt = {...tgt}; + } else { + if (T - lastInput > IDLE) startTour(); + if (!paused) mT += dt; + // the film's last step finishes first + if (handoff && mT < handoff.t1) S = state(film, handoff.cyc0 + mT); + else { + handoff = null; + S = state(plan, mT); + } + since = T - viewAt; + const k = 1 - Math.exp(-dt / 0.35); + const want = {glass: cut === 'glass' ? 1 : 0, explode: explodeOn, dof: cfg.dof ?? 0, iso: cfg.iso ?? 0, top: cfg.top ?? 0}; + for (const key in fxs) fxs[key] += (want[key] - fxs[key]) * k; + fx = {cut, glass: fxs.glass, explode: fxs.explode, dof: fxs.dof, iso: fxs.iso, isoStations: cfg.isoStations, ghost: {carriage: 1 - 0.9 * fxs.top, ring: 1 - 0.9 * fxs.top, crank: 1 - 0.85 * fxs.top}}; + tgt = VIEW_FN[view](since, S); + tgt.az += off.az; + tgt.el = clamp(tgt.el + off.el, -10, 85); + tgt.d *= off.k; + const rk = Math.max(0, 1 - (T - ring.t) / 0.55); + cursor = {x: -99, y: -99, press: false, ring: rk, ringX: ring.x, ringY: ring.y}; + const ph = S.phase; + const tt = S.turn; + caption = tt + ? tr(tt.sign < 0 ? 'l:sub' : 'l:add', nf(fromDigits(tt.ev.set) * 10 ** (tt.ev.p - 1))) + : ph === 'carriage' + ? tr('l:carriage', plan.steps[S.step]?.to ?? S.p) + : ph === 'clear' + ? tr('l:clear') + : ph === 'slide' + ? tr('l:slide') + : ph === 'crank' + ? tr('l:crank') + : tr('l:idle'); + } + + // the camera eases toward its target, logarithmically in distance + const k = 1 - Math.exp(-dt / (AP.on ? 0.1 : 0.35)); + cam.az += wrap(tgt.az - cam.az) * k; + for (const key of ['tx', 'ty', 'tz', 'el', 'sx', 'sy']) cam[key] += (tgt[key] - cam[key]) * k; + cam.d = Math.exp(Math.log(cam.d) + (Math.log(tgt.d) - Math.log(cam.d)) * k); + st.setCut(fx.cut); + st.frame(S, fx, {...cam, az: cam.az * D2R, el: cam.el * D2R}); + + ui.root.style.display = hidden ? 'none' : ''; + ui.update({ + S, + sub, + view: vbtn, + cut: fx.cut, + explode: AP.on ? fx.explode : explodeOn, + paused, + lastHist: hist, + nextEv: S.turn ? null : nextEv(S), + callouts: calloutsFor(view, st, S, ss(1.3, 2.0, since)), + cursor, + caption, + handNote, + }); + if (tourChip.classList.contains('on') !== AP.on || !tourChip.firstChild) { + tourChip.classList.toggle('on', AP.on); + tourChip.innerHTML = AP.on ? `${tr('tourOn')}` : tr('tourOff'); + } + if (!window.SIM_SHOWN) { + window.SIM_SHOWN = true; + dispatchEvent(new Event('simframe')); + } + requestAnimationFrame(frame); + }; + warmComposer(st.renderer, st.composer, st.scene, st.camera).then(() => requestAnimationFrame(frame)); + window.LIVE = { + st, + cam, + startTour, + takeOver, + act: ACT, + get plan() { + return plan; + }, + get tier() { + return tier; + }, + get T() { + return T; + }, + }; + void SCRIPT; +} diff --git a/machines/pepper/curta-shared/machine.js b/machines/pepper/curta-shared/machine.js new file mode 100644 index 0000000..e8bdae1 --- /dev/null +++ b/machines/pepper/curta-shared/machine.js @@ -0,0 +1,408 @@ +// Pepper, the Curta Type I: the one source of its figures and of its arithmetic. No three.js, so check.mjs, the +// timeline and the score import it in node. The geometry (curta.js), the console and the sound all read from here. +// +// One input: the cumulative crank angle θ, plus the discrete state between turns (sliders, crank up or down, carriage +// position, clearing ring). A plan of steps is built once; state(plan, t) returns every pose, every digit on every +// wheel, every carry lever, as a pure function of t. The letters in comments are the sources in ../REFERENCES.md. + +// ------------------------------------------------------------ the figures +export const CURTA = { + // registers [W][H][V] + sliders: 8, + counter: 6, + result: 11, + typeII: {sliders: 11, counter: 8, result: 15}, + // body [F]: 5.3 cm across, 8.5 cm high (10.5 cm with the crank [H]), 230 g, ~600 parts + diameter: 53, + height: 85, + heightCrank: 105, + mass: 230, + parts: 600, + // production [F][W]: ~80,000 Type I (and ~60,000 Type II), 1948 to 1970 (Wikipedia gives 1972 for the last one) + made: 80000, + madeII: 60000, + years: [1948, 1970], + // drum [V]: 19 rows of teeth, 9 for addition, 9 for the nines' complement, 1 extra row of ten for the first digit + rowsAdd: 9, + rowsComp: 9, + rowsTen: 1, +}; +export const POSITIONS = CURTA.counter; // the carriage turns through 6 positions [V] + +// ------------------------------------------------------------ the timing over one turn [E] +// The ring of stations around the drum: 8 slider shafts (stations 1-8), 3 carry-only shafts (9-11) and 5 parked +// places where the result wheels below the active column wait. 16 stations, 22.5° apart. A drum tooth or the single +// carry tooth meets station s at θ = its angle on the drum + (s − 1)·22.5°, so the drum serves the stations one after +// the other, and the carry tooth reaches column s + 1 after column s has finished: the carries run in order, from +// the units up, during the second half of the turn [F]. +export const G = { + stations: 16, + active: 11, + pitch: 22.5, // ° between stations + tooth: 10, // ° between two teeth of a row + toothDur: 7, // ° a tooth drives its counting gear + entry0: 15, // ° where the first tooth meets station 1 + carry0: 105, // ° where the carry tooth meets station 1 (= entry0 + 9 teeth) + carryDur: 8, + counterAt: 338, // ° the counting tooth steps the revolution counter + counterDur: 14, + armReset: [2, 14], // ° the reset cam lifts the carry levers at the start of the next turn [F] + ratchet: 12, // anti-reverse ratchet teeth per turn [F] (count estimated) + rowPitch: 2.4, // mm between rows of the same set; the complement rows sit half a pitch away [V] + shift: 1.2, // mm the drum rises when the crank is pulled up [V][F] + lift: 3.2, // mm the carriage lifts to turn or to clear [F] +}; +export const stationOf = (col, p) => col - p + 1; +export const thetaTooth = (s, k) => G.entry0 + (s - 1) * G.pitch + k * G.tooth; +export const thetaCarry = (s) => G.carry0 + (s - 1) * G.pitch; + +// ------------------------------------------------------------ numbers as digit arrays (index 0 = units) +export const toDigits = (v, n) => Array.from({length: n}, (_, i) => Math.floor(v / 10 ** i) % 10); +export const fromDigits = (d) => d.reduce((a, x, i) => a + x * 10 ** i, 0); +const mod = (a, m) => ((a % m) + m) % m; + +/** teeth that reach station s in one turn: the slider's digit, or its nines' complement; the first column ten's */ +export function teethAt(s, set, sign) { + const d = s <= CURTA.sliders ? set[s - 1] : 0; + if (sign > 0) return d; + return 9 - d + (s === 1 ? 1 : 0); +} + +/** + * One turn of the crank from the registers reg (11 digits) and ctr (6), the setting set (8), carriage position p, + * sign +1 (crank down, add) or −1 (crank up, subtract). Returns every column's teeth and carries with their angles. + */ +export function turnEvents(reg, ctr, set, p, sign) { + const cols = []; + const carries = []; + let overflow = null; + let armIn = false; + let armAt = null; + const after = reg.slice(); + const arms = new Array(G.active + 2).fill(0); // carry levers down after the turn, by station + for (let j = p; j <= CURTA.result; j++) { + const s = stationOf(j, p); + const v = reg[j - 1]; + const n = teethAt(s, set, sign); + const teeth = Array.from({length: n}, (_, k) => thetaTooth(s, k)); + const cin = armIn ? 1 : 0; + if (cin) carries.push({col: j, station: s, at: thetaCarry(s), from: armAt}); + // where the wheel passes 9 → 0 (the pin on its 9 pushes the next lever down) [F] + let wrap = null; + if (v + n >= 10) wrap = teeth[9 - v] + G.toothDur; + else if (cin && v + n === 9) wrap = thetaCarry(s) + G.carryDur; + after[j - 1] = (v + n + cin) % 10; + cols.push({col: j, station: s, v0: v, n, teeth, cin, wrap, v1: after[j - 1]}); + armIn = wrap !== null; + armAt = wrap; + if (wrap !== null) arms[s + 1] = 1; + } + if (armIn) overflow = {at: armAt, station: stationOf(CURTA.result, p) + 1}; + // the revolution counter: ±1 on the digit of the active position + const cv = fromDigits(ctr); + const cv1 = mod(cv + sign * 10 ** (p - 1), 10 ** CURTA.counter); + const ctrAfter = toDigits(cv1, CURTA.counter); + const ctrSteps = ctrAfter.map((d, i) => (d !== ctr[i] ? 1 : 0)); + return {cols, carries, overflow, after, ctrAfter, ctrSteps, sign, p, set: set.slice(), arms, reg0: reg.slice(), ctr0: ctr.slice()}; +} + +/** the addend one turn puts into the 11 columns (the setting shifted, or its ten's complement), for the panel */ +export function addendOf(set, p, sign) { + const out = new Array(CURTA.result).fill(null); + for (let j = p; j <= CURTA.result; j++) out[j - 1] = teethAt(stationOf(j, p), set, sign); + return out; +} + +// ------------------------------------------------------------ easing +const clamp01 = (x) => Math.min(1, Math.max(0, x)); +export const smoother = (x) => { + const u = clamp01(x); + return u * u * u * (u * (u * 6 - 15) + 10); +}; +export const ss = (a, b, t) => smoother((t - a) / (b - a)); +// state to state, cubic-bezier(0.65, 0, 0.35, 1)-like +const inout = (x) => { + const u = clamp01(x); + return u < 0.5 ? 4 * u * u * u : 1 - (-2 * u + 2) ** 3 / 2; +}; + +// Fritsch-Carlson monotone cubic: θ never runs backwards and slows smoothly into each key +export function monotone(keys) { + const n = keys.length; + const x = keys.map((k) => k[0]); + const y = keys.map((k) => k[1]); + if (n === 1) return () => y[0]; + const d = []; + const m = new Array(n).fill(0); + for (let i = 0; i < n - 1; i++) d.push((y[i + 1] - y[i]) / (x[i + 1] - x[i])); + m[0] = keys[0][2] ?? d[0]; + m[n - 1] = keys[n - 1][2] ?? d[n - 2]; + for (let i = 1; i < n - 1; i++) m[i] = keys[i][2] ?? (d[i - 1] * d[i] <= 0 ? 0 : (3 * (d[i - 1] + d[i])) / ((2 * d[i] + d[i - 1]) / d[i - 1] + (d[i] + 2 * d[i - 1]) / d[i])); + return (t) => { + if (t <= x[0]) return y[0]; + if (t >= x[n - 1]) return y[n - 1]; + let i = 0; + while (t > x[i + 1]) i++; + const h = x[i + 1] - x[i]; + const s = (t - x[i]) / h; + const s2 = s * s; + const s3 = s2 * s; + return (2 * s3 - 3 * s2 + 1) * y[i] + (s3 - 2 * s2 + s) * h * m[i] + (-2 * s3 + 3 * s2) * y[i + 1] + (s3 - s2) * h * m[i + 1]; + }; +} + +// ------------------------------------------------------------ the plan +// Steps, each {kind, t0, t1, ...}: +// slide {to: [8 digits]} the sliders move to a new setting, one after the other +// turns {n, keys?} n turns; keys [[t, θ in this step, slope?]] shape the crank's motion +// carriage {to} lift, turn to position `to`, drop +// crank {up} pull the crank up (subtract) or push it down +// clear {to?} lift the carriage, the ring clears both registers in one turn, (turn to `to`), drop +export const ZERO = () => ({set: new Array(CURTA.sliders).fill(0), up: 0, p: 1, reg: new Array(CURTA.result).fill(0), ctr: new Array(CURTA.counter).fill(0), arms: new Array(G.active + 2).fill(0), shaft: new Array(G.active + 2).fill(0), turnsDone: 0, hist: []}); + +export function createPlan(init = ZERO()) { + const plan = {steps: [], end: init, turns: []}; + plan.add = (step) => addStep(plan, step); + return plan; +} + +function addStep(plan, step) { + const s0 = plan.end; + const st = {...step, s0}; + const e = {...s0, set: s0.set.slice(), reg: s0.reg.slice(), ctr: s0.ctr.slice(), arms: s0.arms.slice(), shaft: s0.shaft.slice(), hist: s0.hist.slice()}; + if (step.kind === 'slide') { + st.from = s0.set.slice(); + e.set = step.to.slice(); + // each slider that moves gets its own slice of the step + const moving = st.from.map((d, i) => (d !== step.to[i] ? i : -1)).filter((i) => i >= 0); + st.order = moving; + } else if (step.kind === 'turns') { + st.ev = []; + let reg = s0.reg; + let ctr = s0.ctr; + const sign = s0.up ? -1 : 1; + for (let k = 0; k < step.n; k++) { + const ev = turnEvents(reg, ctr, s0.set, s0.p, sign); + ev.index = s0.turnsDone + k; + // each shaft's cumulative teeth, so the gears' pose is a function of the plan alone + ev.shaft0 = (k ? st.ev[k - 1].shaft1 : s0.shaft).slice(); + ev.shaft1 = ev.shaft0.slice(); + for (const c of ev.cols) ev.shaft1[c.station] += c.n + c.cin; + st.ev.push(ev); + plan.turns.push(ev); + reg = ev.after; + ctr = ev.ctrAfter; + } + e.reg = reg; + e.ctr = ctr; + e.arms = st.ev[st.ev.length - 1].arms; + e.shaft = st.ev[st.ev.length - 1].shaft1; + e.turnsDone = s0.turnsDone + step.n; + // the operation as one would write it by hand: consecutive turns at one position and sign group together + const last = e.hist[e.hist.length - 1]; + const val = fromDigits(s0.set); + if (last && last.p === s0.p && last.sign === sign && last.set === val && !last.closed) e.hist[e.hist.length - 1] = {...last, n: last.n + step.n}; + else e.hist.push({p: s0.p, sign, set: val, n: step.n}); + const f = step.keys ? monotone(step.keys.map(([t, th, m]) => [step.t0 + t, th, m])) : null; + st.theta = f || ((t) => 360 * step.n * inout((t - step.t0) / (step.t1 - step.t0))); + } else if (step.kind === 'carriage') { + e.p = step.to; + e.hist = e.hist.map((h) => ({...h, closed: true})); + } else if (step.kind === 'crank') { + e.up = step.up ? 1 : 0; + } else if (step.kind === 'clear') { + e.reg = new Array(CURTA.result).fill(0); + e.ctr = new Array(CURTA.counter).fill(0); + if (step.to) e.p = step.to; + e.hist = []; + e.cleared = s0.hist; + } + st.s1 = e; + plan.steps.push(st); + plan.end = e; + return st; +} + +/** the step running at t (or the last one before it), and the index */ +function stepAt(plan, t) { + let lo = 0; + let hi = plan.steps.length - 1; + if (hi < 0 || t < plan.steps[0].t0) return -1; + while (lo < hi) { + const mid = (lo + hi + 1) >> 1; + if (plan.steps[mid].t0 <= t) lo = mid; + else hi = mid - 1; + } + return lo; +} + +/** wheel position (digits, float, not wrapped) of one column at θ inside a turn */ +function colPos(c, th) { + let x = c.v0; + for (const a of c.teeth) x += ss(a, a + G.toothDur, th); + if (c.cin) x += ss(thetaCarry(c.station), thetaCarry(c.station) + G.carryDur, th); + return x; +} + +/** + * The machine at time t: {set, setPos[8], up (0..1), p, carPos (float position), lift (0..1), ring (°), reg[11], + * regPos[11], ctr[6], ctrPos[6], arms[station] (0..1), turn: {ev, θ, n, slow} | null, theta (cumulative °), phase} + */ +export function state(plan, t) { + const i = stepAt(plan, t); + const base = i < 0 ? plan.steps[0]?.s0 ?? plan.end : t > plan.steps[i].t1 ? plan.steps[i].s1 : plan.steps[i].s0; + const S = { + set: base.set, + setPos: base.set.slice(), + up: base.up, + p: base.p, + carPos: base.p, + lift: 0, + ring: 0, + reg: base.reg, + regPos: base.reg.slice(), + ctr: base.ctr, + ctrPos: base.ctr.slice(), + arms: base.arms.slice(), + shaft: base.shaft.slice(), + turn: null, + theta: 360 * base.turnsDone, + turnsDone: base.turnsDone, + hist: base.hist, + phase: 'idle', + step: i, + k: 0, + }; + if (i < 0 || t > plan.steps[i].t1) return S; + const st = plan.steps[i]; + const k = (t - st.t0) / Math.max(1e-6, st.t1 - st.t0); + S.k = k; + S.phase = st.kind; + if (st.kind === 'slide') { + const n = st.order.length; + st.order.forEach((si, q) => { + const a = n > 1 ? (q / n) * 0.55 : 0; + const u = inout((k - a) / (1 - (n > 1 ? 0.55 : 0))); + S.setPos[si] = st.from[si] + (st.to[si] - st.from[si]) * u; + }); + S.set = S.setPos.map((x) => Math.round(x)); + } else if (st.kind === 'crank') { + const u = inout(k); + S.up = st.up ? u : 1 - u; + } else if (st.kind === 'carriage') { + S.lift = ss(0, 0.28, k) * (1 - ss(0.78, 1, k)); + S.carPos = st.s0.p + (st.to - st.s0.p) * inout((k - 0.3) / 0.46); + } else if (st.kind === 'clear') { + S.lift = ss(0, 0.14, k) * (1 - ss(0.88, 1, k)); + const r = inout((k - 0.16) / 0.56); + S.ring = 360 * r; + if (st.to) S.carPos = st.s0.p + (st.to - st.s0.p) * inout((k - 0.72) / 0.15); + // the ring's racks sweep each wheel back to 0 as they pass it, forward [F] + const sweep = (vals, n, a0) => + vals.map((v, j) => { + if (!v) return 0; + const a = a0 + (j / n) * 300; + return v + (10 - v) * ss(a, a + 50, S.ring); + }); + S.regPos = sweep(st.s0.reg, CURTA.result, 0); + S.ctrPos = sweep(st.s0.ctr, CURTA.counter, 20); + S.reg = S.regPos.map((x) => Math.round(x) % 10); + S.ctr = S.ctrPos.map((x) => Math.round(x) % 10); + } else if (st.kind === 'turns') { + const th = Math.min(360 * st.n, Math.max(0, st.theta(t))); + const n = Math.min(st.n - 1, Math.floor(th / 360)); + const thIn = th - 360 * n; + const ev = st.ev[n]; + S.theta = 360 * st.s0.turnsDone + th; + S.turn = {ev, th: thIn, n, of: st.n, sign: ev.sign}; + // registers in motion + S.shaft = ev.shaft0.slice(); + for (const c of ev.cols) { + S.regPos[c.col - 1] = colPos(c, thIn); + S.shaft[c.station] += S.regPos[c.col - 1] - c.v0; + } + for (let c = 0; c < CURTA.counter; c++) S.ctrPos[c] = ev.ctr0[c] + ev.sign * ev.ctrSteps[c] * ss(G.counterAt, G.counterAt + G.counterDur, thIn); + S.reg = S.regPos.map((x) => Math.floor(x + 1e-6) % 10); + S.ctr = S.ctrPos.map((x) => mod(Math.round(x), 10)); + // carry levers: the previous turn's lift at the start; this turn's drop when the wheel below passes 9 → 0 + const prev = n > 0 ? st.ev[n - 1].arms : st.s0.arms; + const up = ss(G.armReset[0], G.armReset[1], thIn); + S.arms = prev.map((a) => a * (1 - up)); + for (const c of ev.cols) if (c.wrap !== null) S.arms[c.station + 1] = Math.max(S.arms[c.station + 1], ss(c.wrap - 4, c.wrap, thIn)); + // the turn's active station: the one a tooth or the carry tooth is driving now + S.active = activeAt(ev, thIn); + } + return S; +} + +/** the station being driven at θ (tooth or carry), the carry in flight, for the accent */ +export function activeAt(ev, th) { + let tooth = null; + let carry = null; + for (const c of ev.cols) { + for (const a of c.teeth) if (th >= a - 1 && th < a + G.toothDur + 1) tooth = {station: c.station, col: c.col}; + if (c.cin) { + const a = thetaCarry(c.station); + if (th >= a - 6 && th < a + G.carryDur + 4) carry = {station: c.station, col: c.col}; + } + } + return {tooth, carry}; +} + +/** every timed event of a plan, for the score: ratchet clicks, teeth, carries, steps */ +export function soundEvents(plan) { + const out = {ratchet: [], home: [], carry: [], overflow: [], counter: [], slide: [], carriageLift: [], carriageNotch: [], carriageDrop: [], crank: [], ring: []}; + // invert θ(t) inside a step by bisection + const tAt = (st, th) => { + let lo = st.t0; + let hi = st.t1; + for (let q = 0; q < 40; q++) { + const mid = (lo + hi) / 2; + if (st.theta(mid) < th) lo = mid; + else hi = mid; + } + return (lo + hi) / 2; + }; + for (const st of plan.steps) { + if (st.kind === 'turns') { + for (let n = 0; n < st.n; n++) { + const ev = st.ev[n]; + for (let r = 1; r < G.ratchet; r++) out.ratchet.push(tAt(st, n * 360 + (r * 360) / G.ratchet)); + out.home.push(tAt(st, (n + 1) * 360 - 0.5)); + for (const c of ev.carries) out.carry.push({t: tAt(st, n * 360 + c.at), col: c.col}); + if (ev.overflow) out.overflow.push(tAt(st, n * 360 + ev.overflow.at + G.pitch)); + out.counter.push(tAt(st, n * 360 + G.counterAt + G.counterDur * 0.6)); + } + } else if (st.kind === 'slide') { + const n = st.order.length; + st.order.forEach((si, q) => { + const a = n > 1 ? (q / n) * 0.55 : 0; + const span = 1 - (n > 1 ? 0.55 : 0); + const steps = Math.abs(st.to[si] - st.from[si]); + for (let d = 1; d <= steps; d++) { + // the slider's detent at each digit, on its eased path + const target = d / steps; + let lo = 0; + let hi = 1; + for (let q2 = 0; q2 < 30; q2++) { + const mid = (lo + hi) / 2; + if (inout(mid) < target - 0.5 / steps) lo = mid; + else hi = mid; + } + out.slide.push(st.t0 + (a + lo * span) * (st.t1 - st.t0)); + } + }); + } else if (st.kind === 'carriage' || st.kind === 'clear') { + const L = (x) => st.t0 + x * (st.t1 - st.t0); + out.carriageLift.push(L(st.kind === 'clear' ? 0.07 : 0.14)); + out.carriageDrop.push(L(st.kind === 'clear' ? 0.97 : 0.96)); + const from = st.s0.p; + const to = st.to ?? from; + const a0 = st.kind === 'clear' ? 0.72 : 0.3; + const span = st.kind === 'clear' ? 0.15 : 0.46; + for (let q = 1; q <= Math.abs(to - from); q++) out.carriageNotch.push(L(a0 + span * (q / Math.max(1, Math.abs(to - from))) * 0.95)); + if (st.kind === 'clear') out.ring.push([L(0.16), L(0.72)]); + } else if (st.kind === 'crank') out.crank.push(st.t0 + 0.75 * (st.t1 - st.t0)); + } + return out; +} diff --git a/machines/pepper/curta-shared/make-timeline.mjs b/machines/pepper/curta-shared/make-timeline.mjs new file mode 100644 index 0000000..30c0dfe --- /dev/null +++ b/machines/pepper/curta-shared/make-timeline.mjs @@ -0,0 +1,30 @@ +// Writes ../curta-film/timeline.json (the beats, for review sheets and the score) and ../curta-film/sounds.json +// (every ratchet tooth, carry, counter step, slider detent and carriage notch of the film, from the same plan and +// model the film draws). node curta-shared/make-timeline.mjs (from machines/pepper) +import fs from 'node:fs'; +import path from 'node:path'; +import {fileURLToPath} from 'node:url'; +import {soundEvents} from './machine.js'; +import {DURATION, SCRIPT, filmPlan} from './schedule.js'; + +const HERE = path.dirname(fileURLToPath(import.meta.url)); +const r = (x) => +x.toFixed(3); +const plan = filmPlan(); +const ev = soundEvents(plan); +const turns = plan.steps.filter((s) => s.kind === 'turns'); +const sub = turns[turns.length - 1]; +const beats = { + views: SCRIPT.filter((e) => e.t > 0).map((e) => e.t), + firstTooth: r(turns[0].t0 + 1.2), + turnsEnd: r(turns[1].t1), + carriage: r(plan.steps.find((s) => s.kind === 'carriage').t0 + 1.2), + subStart: r(sub.t0 + 0.8), + cascade: r(ev.carry.filter((c) => c.t > sub.t0)[2].t), + overflow: r(ev.overflow[0]), + clear: r(plan.steps.find((s) => s.kind === 'clear').t0 + 1.4), + end: 36.5, +}; +fs.writeFileSync(path.join(HERE, '../curta-film/timeline.json'), JSON.stringify({duration: DURATION, beats})); +const round = (a) => a.map((x) => (typeof x === 'number' ? r(x) : Array.isArray(x) ? x.map(r) : {...x, t: r(x.t)})); +fs.writeFileSync(path.join(HERE, '../curta-film/sounds.json'), JSON.stringify(Object.fromEntries(Object.entries(ev).map(([k, v]) => [k, round(v)])))); +console.log(beats, Object.fromEntries(Object.entries(ev).map(([k, v]) => [k, v.length]))); diff --git a/machines/pepper/curta-shared/schedule.js b/machines/pepper/curta-shared/schedule.js new file mode 100644 index 0000000..ca7bfeb --- /dev/null +++ b/machines/pepper/curta-shared/schedule.js @@ -0,0 +1,57 @@ +// The film's plan and its operator script. No three.js: the timeline, the score and check.mjs import it in node. +// +// 1 234 × 56 the Curta way: 6 turns in position 1, lift the carriage one notch, 5 turns in position 2 (69 104, +// the counter reads 56). Then the crank pulled up and one turn back in position 2: 69 104 − 12 340 = 56 764 by adding +// the ten's complement, the turn whose carries run from the fourth column off the top. The ring clears it all. +import {createPlan, fromDigits} from './machine.js'; + +export const DURATION = 38; +export const SETTING = [4, 3, 2, 1, 0, 0, 0, 0]; // 1 234, slider 1 = units + +// the plan: every state change, in film seconds +export function filmPlan() { + const plan = createPlan(); + plan.add({kind: 'slide', t0: 2.4, t1: 4.5, to: SETTING}); + // the first turn in slow motion (the drum's teeth meet the gears one by one), then five at a hand's pace + plan.add({kind: 'turns', t0: 5.0, t1: 11.0, n: 1, keys: [[0, 0, 0], [0.9, 12], [4.6, 300], [6.0, 360, 0]]}); + plan.add({kind: 'turns', t0: 11.5, t1: 14.6, n: 5}); + plan.add({kind: 'carriage', t0: 15.0, t1: 17.4, to: 2}); + plan.add({kind: 'turns', t0: 17.8, t1: 20.9, n: 5}); + plan.add({kind: 'crank', t0: 21.5, t1: 22.5, up: true}); + // the subtraction: slow through the entry, slower through the carries (θ 150° to 310°), then home + plan.add({kind: 'turns', t0: 23.0, t1: 29.4, n: 1, keys: [[0, 0, 0], [1.6, 140], [5.4, 312], [6.4, 360, 0]]}); + plan.add({kind: 'crank', t0: 29.7, t1: 30.4, up: false}); + plan.add({kind: 'clear', t0: 30.9, t1: 33.7, to: 1}); + plan.add({kind: 'slide', t0: 34.0, t1: 35.4, to: [0, 0, 0, 0, 0, 0, 0, 0]}); + return plan; +} + +// operator moves: a subsystem or a view, clicked on the console; the cut and the explosion follow from it +export const SCRIPT = [ + {t: 0, sub: 'crank'}, + {t: 2.0, sub: 'sliders'}, + {t: 4.6, sub: 'drum'}, + {t: 11.2, sub: 'carriage'}, + {t: 21.1, view: 'axial'}, + {t: 23.9, sub: 'carry'}, + {t: 30.4, sub: 'reset'}, + {t: 34.2, sub: 'crank'}, +]; +/** the figures the captions quote, read from the plan's own turns */ +export function filmFacts(plan) { + const T = plan.turns; + const add = T.filter((e) => e.sign > 0); + const p1 = add.filter((e) => e.p === 1); + const last = T[T.length - 1]; + const r1 = fromDigits(add[add.length - 1].after); + return { + set: fromDigits(SETTING), + m1: fromDigits(p1[p1.length - 1].ctrAfter), + m2: fromDigits(add[add.length - 1].ctrAfter), + r1, + sub: fromDigits(SETTING) * 10 ** (last.p - 1), + r2: fromDigits(last.after), + c2: fromDigits(last.ctrAfter), + }; +} +export const beatAt = (t) => SCRIPT.filter((e) => e.t <= t).pop(); diff --git a/machines/pepper/curta-shared/score.py b/machines/pepper/curta-shared/score.py new file mode 100644 index 0000000..f3321b9 --- /dev/null +++ b/machines/pepper/curta-shared/score.py @@ -0,0 +1,102 @@ +"""Score for Pepper (a Curta Type I after the public sources): mechanical, dry, precise. A ratchet tick at every tooth +of the crank's anti-reverse ratchet and a firmer detent when the crank comes home, a small click at every carry (the +cascade of the subtraction is a burst of them, one per column), the counter's step, a detent per digit as a slider +moves, the carriage's lift, notch and drop, a soft friction under the clearing ring. No continuous music: a single +plucked music-box note on the strong beats, all in D major. Every time comes from sounds.json and timeline.json, +written by make-timeline.mjs from the same plan the film draws. + + node curta-shared/make-timeline.mjs && python3 "$SKILL_DIR/run_sfx.py" curta-shared/score.py +""" + +import json +import math +import os +import random + +from sfx.score_kit import hz, thud +from sfx.synth import SR, bandnoise, click + +TIMELINE = "../curta-film/timeline.json" +OUT = os.path.join(os.environ.get("TEARDOWN_OUT", "teardown-out"), "pepper-score.wav") +TARGET_LUFS = -14.0 +SEED = 1948 +HERE = os.path.dirname(os.path.abspath(__file__)) + + +def tick(freq, dur=0.03, body=0.0, body_f=420, decay=0.004): + """a short metal tick: a damped partial and a burst of noise, with an optional low body""" + n = int(dur * SR) + out = [] + for k in range(n): + t = k / SR + s = math.sin(2 * math.pi * freq * t) * math.exp(-t / decay) + s += math.sin(2 * math.pi * freq * 1.47 * t) * math.exp(-t / (decay * 0.6)) * 0.4 + s += random.uniform(-1, 1) * math.exp(-t / 0.0009) * 0.7 + if body: + s += body * math.sin(2 * math.pi * body_f * t) * math.exp(-t / 0.012) + out.append(s) + return out + + +def pluck(freq, dur=1.6): + """a music-box tine: a bright attack, inharmonic partials that die fast, a clean fundamental""" + n = int(dur * SR) + out = [] + for k in range(n): + t = k / SR + a = min(1, t / 0.002) + s = math.sin(2 * math.pi * freq * t) * math.exp(-t / 0.55) + s += 0.35 * math.sin(2 * math.pi * freq * 3.01 * t) * math.exp(-t / 0.12) + s += 0.18 * math.sin(2 * math.pi * freq * 5.4 * t) * math.exp(-t / 0.05) + out.append(a * s) + return out + + +def friction(dur, level=1.0): + """the clearing ring sliding: low band noise with a slow swell""" + n = int(dur * SR) + x = bandnoise(n, lambda k: 900 + 500 * math.sin(k / SR * 7.0), q=0.7) + return [x[k] * level * math.sin(math.pi * min(1.0, k / n)) ** 0.6 for k in range(n)] + + +def score(mix, tl): + dur = tl["duration"] + b = tl["beats"] + with open(os.path.join(HERE, "../curta-film/sounds.json"), encoding="utf8") as f: + ev = json.load(f) + rnd = random.Random(SEED) + # the crank's ratchet and its home detent + for t in ev["ratchet"]: + mix.put(t, tick(rnd.uniform(5200, 5800), 0.018, decay=0.0025), 0.05, rnd.uniform(-0.15, 0.15)) + for t in ev["home"]: + mix.put(t, tick(2600, 0.05, body=0.6, body_f=310, decay=0.004), 0.12) + # carries: one dry click each, a little higher up the columns + for c in ev["carry"]: + mix.put(c["t"], tick(3400 + 180 * c["col"], 0.03, body=0.25, body_f=900, decay=0.003), 0.13, -0.3 + 0.06 * c["col"]) + for t in ev["overflow"]: + mix.put(t, tick(6400, 0.03, decay=0.002), 0.06, 0.4) + for t in ev["counter"]: + mix.put(t, tick(3000, 0.03, body=0.3, body_f=600), 0.06, 0.2) + # sliders: a soft detent per digit + for t in ev["slide"]: + mix.put(t, tick(rnd.uniform(4200, 4600), 0.02, decay=0.002), 0.07, -0.25) + # carriage: lift, notch, drop + for t in ev["carriageLift"]: + mix.put(t, tick(1900, 0.06, body=0.5, body_f=240, decay=0.006), 0.08) + for t in ev["carriageNotch"]: + mix.put(t, tick(2300, 0.05, body=0.7, body_f=280, decay=0.005), 0.12) + for t in ev["carriageDrop"]: + mix.put(t, thud(160, 0.05, 0.25), 0.14) + mix.put(t, tick(2800, 0.04, decay=0.004), 0.07) + for t in ev["crank"]: + mix.put(t, tick(2100, 0.05, body=0.6, body_f=260, decay=0.005), 0.1) + for t0, t1 in ev["ring"]: + mix.put(t0, friction(t1 - t0, 1.0), 0.05) + # one plucked note on the strong beats, D major + notes = {"firstTooth": "A5", "turnsEnd": "D6", "carriage": "F#5", "subStart": "B5", "cascade": "E6", "clear": "A5"} + for k, n in notes.items(): + mix.put(b[k], pluck(hz(n)), 0.06) + # the result: two notes, the fifth then the octave + mix.put(b["end"] - 1.6, pluck(hz("A5")), 0.06) + mix.put(b["end"] - 1.2, pluck(hz("D6")), 0.065) + _ = dur diff --git a/machines/pepper/curta-shared/stage.js b/machines/pepper/curta-shared/stage.js new file mode 100644 index 0000000..7e48631 --- /dev/null +++ b/machines/pepper/curta-shared/stage.js @@ -0,0 +1,175 @@ +// Pepper's stage: a watchmaker's catalogue shot. Pale cool stone behind (#e9e7e2, a soft gradient), one large light +// box overhead that the satin steel and the knurls catch, deep contact shadows under the machine, and a short depth of +// field on the macro views only (a bokeh pass the working views never pay for). frame(S, fx, cam) draws one frame. +import * as THREE from 'three'; +import {BokehPass} from 'three/addons/postprocessing/BokehPass.js'; +import {EffectComposer} from 'three/addons/postprocessing/EffectComposer.js'; +import {GTAOPass} from 'three/addons/postprocessing/GTAOPass.js'; +import {OutputPass} from 'three/addons/postprocessing/OutputPass.js'; +import {RenderPass} from 'three/addons/postprocessing/RenderPass.js'; +import {buildCurta} from './curta.js'; + +const V3 = THREE.Vector3; +export const BG = {top: '#efeeea', mid: '#e9e7e2', low: '#dedbd4'}; + +export function createStage({canvas}) { + const renderer = new THREE.WebGLRenderer({canvas, antialias: false, preserveDrawingBuffer: true, powerPreference: 'high-performance'}); + renderer.toneMapping = THREE.NeutralToneMapping; + renderer.toneMappingExposure = 1.0; + renderer.outputColorSpace = THREE.SRGBColorSpace; + renderer.shadowMap.enabled = true; + renderer.shadowMap.type = THREE.VSMShadowMap; + renderer.localClippingEnabled = true; + const scene = new THREE.Scene(); + { + // stone: a vertical gradient with a faint warm-cool falloff toward the corners + const c = document.createElement('canvas'); + c.width = 512; + c.height = 512; + const g = c.getContext('2d'); + const gr = g.createLinearGradient(0, 0, 0, 512); + gr.addColorStop(0, BG.top); + gr.addColorStop(0.58, BG.mid); + gr.addColorStop(1, BG.low); + g.fillStyle = gr; + g.fillRect(0, 0, 512, 512); + const rv = g.createRadialGradient(256, 210, 60, 256, 256, 420); + rv.addColorStop(0, 'rgba(255,255,255,0.22)'); + rv.addColorStop(1, 'rgba(150,152,158,0.18)'); + g.fillStyle = rv; + g.fillRect(0, 0, 512, 512); + const tex = new THREE.CanvasTexture(c); + tex.colorSpace = THREE.SRGBColorSpace; + scene.background = tex; + } + const camera = new THREE.PerspectiveCamera(24, 16 / 9, 0.005, 5); + const composer = new EffectComposer(renderer, new THREE.WebGLRenderTarget(4, 4, {type: THREE.HalfFloatType, samples: 8})); + composer.addPass(new RenderPass(scene, camera)); + const gtao = new GTAOPass(scene, camera, 4, 4); + gtao.output = GTAOPass.OUTPUT.Default; + gtao.blendIntensity = 0.85; + gtao.updateGtaoMaterial({radius: 0.006, distanceExponent: 1.3, thickness: 0.004, scale: 1.0, samples: 16, distanceFallOff: 1.0, screenSpaceRadius: false}); + gtao.updatePdMaterial({lumaPhi: 10, depthPhi: 2, normalPhi: 3, radius: 5, rings: 2, samples: 16}); + composer.addPass(gtao); + const bokeh = new BokehPass(scene, camera, {focus: 0.1, aperture: 0.002, maxblur: 0.008}); + bokeh.enabled = false; + composer.addPass(bokeh); + composer.addPass(new OutputPass()); + + // the light box: one big panel overhead, a dim stone room, a narrow strip low on the right for an edge on the knurls + { + const env = new THREE.Scene(); + env.background = new THREE.Color('#8e8c88'); + const box = (w, h, pos, k, tint = '#ffffff') => { + const m = new THREE.Mesh(new THREE.PlaneGeometry(w, h), new THREE.MeshBasicMaterial({color: new THREE.Color(tint).multiplyScalar(k), side: THREE.DoubleSide})); + m.position.copy(pos); + m.lookAt(0, 0, 0); + env.add(m); + }; + box(6, 6, new V3(0, 5, 0.6), 4.2); + box(1.2, 5, new V3(4.5, 1.2, -1.5), 1.4, '#f4f1ea'); + box(1.0, 5, new V3(-4.5, 1.0, 1.5), 0.8, '#eef0f4'); + box(8, 1.2, new V3(0, 0.6, 5), 0.9, '#efede8'); + const g = new THREE.Mesh(new THREE.CircleGeometry(20, 32), new THREE.MeshBasicMaterial({color: '#c9c6bf', side: THREE.DoubleSide})); + g.rotation.x = -Math.PI / 2; + g.position.y = -0.6; + env.add(g); + const pm = new THREE.PMREMGenerator(renderer); + scene.environment = pm.fromScene(env, 0.02).texture; + scene.environmentIntensity = 1.0; + pm.dispose(); + } + const sun = new THREE.DirectionalLight('#fffdf8', 2.6); + sun.position.set(0.06, 0.5, 0.12); + sun.target.position.set(0, 0.04, 0); + sun.castShadow = true; + Object.assign(sun.shadow.camera, {left: -0.12, right: 0.12, top: 0.12, bottom: -0.12, near: 0.2, far: 0.8}); + sun.shadow.mapSize.set(2048, 2048); + sun.shadow.radius = 6; + sun.shadow.blurSamples = 16; + sun.shadow.bias = -0.00005; + sun.shadow.normalBias = 0.0002; + scene.add(sun, sun.target); + scene.add(new THREE.HemisphereLight('#ffffff', '#b8b4ac', 0.55)); + // a small fill for the inside of the open machine + const fill = new THREE.PointLight('#fff8ec', 0.06, 0.4, 1.5); + fill.position.set(0.05, 0.06, 0.09); + scene.add(fill); + + const shade = new THREE.Mesh( + new THREE.PlaneGeometry(1.2, 1.2), + new THREE.ShadowMaterial({color: '#3c3830', opacity: 0.42, polygonOffset: true, polygonOffsetFactor: -4, polygonOffsetUnits: -8}), + ); + shade.rotation.x = -Math.PI / 2; + shade.receiveShadow = true; + scene.add(shade); + + const mac = buildCurta(); + scene.add(mac.root); + + const size = {w: 1600, h: 900, pr: 1}; + const resize = (w, h, pr) => { + size.w = w; + size.h = h; + size.pr = pr; + renderer.setPixelRatio(pr); + renderer.setSize(w, h, false); + composer.setPixelRatio(pr); + composer.setSize(w, h); + camera.aspect = w / h; + camera.updateProjectionMatrix(); + }; + let aoWanted = true; + let dofWanted = true; + // cam: target (tx, ty, tz) in metres, azimuth from +z toward +x, elevation, distance, sx/sy screen shift (px) + const frame = (S, fx, cam) => { + const {tx, ty, tz, az, el, d} = cam; + camera.position.set(tx + d * Math.cos(el) * Math.sin(az), ty + d * Math.sin(el), tz + d * Math.cos(el) * Math.cos(az)); + camera.lookAt(tx, ty, tz); + camera.near = Math.max(0.002, d * 0.08); + camera.far = Math.max(1.5, d * 12); + camera.updateProjectionMatrix(); + camera.setViewOffset(size.w, size.h, -(cam.sx ?? 0), -(cam.sy ?? 0), size.w, size.h); + camera.updateMatrixWorld(); + shade.position.y = (fx.explode ?? 0) * -0.056; + mac.update(S, {...fx, clipAz: fx.clipAz ?? (az * 180) / Math.PI}); + gtao.enabled = aoWanted && (fx.cut !== 'section'); + const dof = dofWanted ? fx.dof ?? 0 : 0; + bokeh.enabled = dof > 0.02; + if (bokeh.enabled) { + bokeh.uniforms.focus.value = d; + bokeh.uniforms.aperture.value = 0.0022 * dof; + bokeh.uniforms.maxblur.value = 0.009 * dof; + } + composer.render(); + }; + const pv = new V3(); + const project = (p) => { + pv.copy(p).project(camera); + if (pv.z > 1) return null; + return [(pv.x * 0.5 + 0.5) * size.w, (-pv.y * 0.5 + 0.5) * size.h]; + }; + const setQuality = ({samples, ao, shadow, dof}) => { + if (samples !== undefined) { + for (const t of [composer.renderTarget1, composer.renderTarget2]) { + t.samples = samples; + t.dispose(); + } + } + if (ao !== undefined) aoWanted = ao; + if (dof !== undefined) dofWanted = dof; + if (shadow !== undefined) { + sun.shadow.mapSize.set(shadow, shadow); + sun.shadow.map?.dispose(); + sun.shadow.map = null; + } + }; + let cutNow = ''; + const setCut = (mode) => { + if (mode === cutNow) return; + cutNow = mode; + mac.setCut(mode); + }; + setCut('solid'); + return {renderer, scene, camera, mac, composer, gtao, bokeh, sun, resize, frame, project, size, setQuality, setCut}; +} diff --git a/machines/pepper/og.png b/machines/pepper/og.png new file mode 100644 index 0000000000000000000000000000000000000000..ebe39841556bcd054b9e2c6980d0dc0101a9617e GIT binary patch literal 488124 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%0DgjaCw_g;ZOp2RIb*fOg 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 K#q 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

>R&CSgTg~ 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

G4Cxg%xuH*y%sTRm~Cn7P}d7B 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%0AnGcA(ZhXV+D7T`K6%SOaOw?lVkg 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 z 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 ?t7`_!N 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/, // its live page's entry point is `entry`, its share card `og` (1200 x 630, also the gallery's thumbnail). export const MACHINES = [ + { + slug: 'pepper', + name: 'Pepper', + entry: 'machines/pepper/curta-live/main.js', + og: 'machines/pepper/og.png', + meta: { + en: { + title: 'Pepper · the Curta calculator, taken apart', + line: 'The Curta Type I, the mechanical calculator you hold in one hand: one stepped drum, carries that run column after column.', + description: + 'The Curta Type I mechanical calculator to take apart in the browser: one stepped drum for all eight sliders, subtraction by the ten’s complement, carries that run column after column, the carriage that shifts to multiply. A model after the public sources; not affiliated with any maker or rights holder.', + locale: 'en_US', + }, + fr: { + title: 'Pepper · la calculatrice Curta, démontée', + line: 'La Curta Type I, la calculatrice mécanique qui tient dans la main : un seul tambour à gradins, des reports qui passent colonne après colonne.', + description: + 'La calculatrice mécanique Curta Type I à démonter dans le navigateur : un seul tambour à gradins pour les huit curseurs, la soustraction par complément à dix, les reports colonne après colonne, le chariot qui se décale pour multiplier. Modèle d’après les sources publiques ; sans lien avec un fabricant ni un ayant droit.', + locale: 'fr_FR', + }, + es: { + title: 'Pepper · la calculadora Curta, desmontada', + line: 'La Curta Tipo I, la calculadora mecánica que cabe en la mano: un solo tambor escalonado, acarreos que pasan columna tras columna.', + description: + 'La calculadora mecánica Curta Tipo I para desmontar en el navegador: un solo tambor escalonado para los ocho cursores, la resta por complemento a diez, los acarreos columna tras columna, el carro que se desplaza para multiplicar. Modelo según las fuentes públicas; sin relación con ningún fabricante ni titular de derechos.', + locale: 'es_ES', + }, + }, + }, { slug: 'quantum', name: 'Quantum', @@ -67,7 +96,7 @@ export const GALLERY = { lead: 'Real machines, built from code with their real numbers, that you can take apart in the browser.', sub: 'Every gauge reads the same model that moves the parts. Left alone, each one plays a guided tour; any click hands control over.', open: 'Open', - description: 'Real machines, built from code with their real numbers, that you can take apart in the browser: a hard drive, a photonic quantum computer.', + description: 'Real machines, built from code with their real numbers, that you can take apart in the browser: a hard drive, a photonic quantum computer, a Curta mechanical calculator.', locale: 'en_US', }, fr: { @@ -75,7 +104,7 @@ export const GALLERY = { lead: 'De vraies machines, construites en code avec leurs vrais chiffres, à démonter dans le navigateur.', sub: 'Chaque jauge lit le modèle qui fait bouger les pièces. Laissée seule, chacune joue une visite guidée ; un clic suffit pour prendre la main.', open: 'Ouvrir', - description: 'De vraies machines, construites en code avec leurs vrais chiffres, à démonter dans le navigateur : un disque dur, un ordinateur quantique photonique.', + description: 'De vraies machines, construites en code avec leurs vrais chiffres, à démonter dans le navigateur : un disque dur, un ordinateur quantique photonique, une calculatrice mécanique Curta.', locale: 'fr_FR', }, es: { @@ -83,7 +112,7 @@ export const GALLERY = { lead: 'Máquinas reales, construidas en código con sus cifras reales, para desmontar en el navegador.', sub: 'Cada indicador lee el mismo modelo que mueve las piezas. Si la dejas sola, cada una hace una visita guiada; cualquier clic te da el control.', open: 'Abrir', - description: 'Máquinas reales, construidas en código con sus cifras reales, para desmontar en el navegador: un disco duro, un ordenador cuántico fotónico.', + description: 'Máquinas reales, construidas en código con sus cifras reales, para desmontar en el navegador: un disco duro, un ordenador cuántico fotónico, una calculadora mecánica Curta.', locale: 'es_ES', }, };