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 1/4] 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', }, }; From 3d533be90e00e6b34fc7b51bd0743c539e8cf6ca Mon Sep 17 00:00:00 2001 From: storagebits <48120561+storagebits@users.noreply.github.com> Date: Wed, 4 Nov 2026 21:48:25 -0500 Subject: [PATCH 2/4] Radial: the R-2800 Double Wasp, taken apart An 18-cylinder twin-row radial (a C-series CB16 after public sources, not affiliated with Pratt & Whitney): starter, missed then caught firings, the firing order round the star, one row in section with its master rod and eight articulated rods, the rows pulled apart, a cam ring lifting a valve, the climb to 2,700 rpm. One input, the crank angle integrated from a planned run; 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 | 5 +- machines/radial/FILM.md | 31 + machines/radial/REFERENCES.md | 87 ++ machines/radial/check.mjs | 99 ++ machines/radial/og.png | Bin 0 -> 413262 bytes machines/radial/r2800-film/events.json | 1 + machines/radial/r2800-film/main.js | 4 + machines/radial/r2800-film/timeline.json | 1 + machines/radial/r2800-live/main.js | 5 + machines/radial/r2800-shared/console.js | 400 ++++++++ machines/radial/r2800-shared/engine.js | 222 +++++ machines/radial/r2800-shared/film.js | 298 ++++++ machines/radial/r2800-shared/fonts.js | 24 + machines/radial/r2800-shared/i18n.js | 220 +++++ machines/radial/r2800-shared/live.js | 510 ++++++++++ .../radial/r2800-shared/make-timeline.mjs | 47 + machines/radial/r2800-shared/model.js | 928 ++++++++++++++++++ machines/radial/r2800-shared/schedule.js | 168 ++++ machines/radial/r2800-shared/score.py | 129 +++ machines/radial/r2800-shared/stage.js | 218 ++++ package-lock.json | 20 + package.json | 4 +- scripts/build.mjs | 2 + scripts/machines.mjs | 35 +- 24 files changed, 3452 insertions(+), 6 deletions(-) create mode 100644 machines/radial/FILM.md create mode 100644 machines/radial/REFERENCES.md create mode 100644 machines/radial/check.mjs create mode 100644 machines/radial/og.png create mode 100644 machines/radial/r2800-film/events.json create mode 100644 machines/radial/r2800-film/main.js create mode 100644 machines/radial/r2800-film/timeline.json create mode 100644 machines/radial/r2800-live/main.js create mode 100644 machines/radial/r2800-shared/console.js create mode 100644 machines/radial/r2800-shared/engine.js create mode 100644 machines/radial/r2800-shared/film.js create mode 100644 machines/radial/r2800-shared/fonts.js create mode 100644 machines/radial/r2800-shared/i18n.js create mode 100644 machines/radial/r2800-shared/live.js create mode 100644 machines/radial/r2800-shared/make-timeline.mjs create mode 100644 machines/radial/r2800-shared/model.js create mode 100644 machines/radial/r2800-shared/schedule.js create mode 100644 machines/radial/r2800-shared/score.py create mode 100644 machines/radial/r2800-shared/stage.js diff --git a/README.md b/README.md index b69c711..1091b3e 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 | |---|---|---|---| +| [**Radial**](machines/radial) | The Pratt & Whitney R-2800 Double Wasp, an 18-cylinder twin-row radial: the starter, the first firings missed then caught, the firing order going round the star, one row in section with its master rod and eight articulated rods (whose pistons do not quite follow the master's law), the rows pulled apart, a cam ring lifting a valve, the climb to 2,700 rpm. A C-series CB16 after public sources; not affiliated with Pratt & Whitney. | The crank angle, integrated once from a planned run of the engine speed. Power, torque and manifold pressure follow from it. | `machines/radial/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` | @@ -66,8 +67,8 @@ Content-Security-Policy that allows the pages' inline scripts by their hashes, c ## Credits Built with Claude Code (Claude Opus 5.5) and the teardown skill, whose kit, frame capture and sound engine come from -[whaleyxbt/claude-motion](https://github.com/whaleyxbt/claude-motion) (MIT). three.js (MIT). Inter, JetBrains Mono and -Instrument Serif (SIL Open Font License). +[whaleyxbt/claude-motion](https://github.com/whaleyxbt/claude-motion) (MIT). three.js (MIT). Inter, JetBrains Mono, +Instrument Serif, Barlow Condensed and Saira Stencil One (SIL Open Font License). ## License diff --git a/machines/radial/FILM.md b/machines/radial/FILM.md new file mode 100644 index 0000000..ed01b87 --- /dev/null +++ b/machines/radial/FILM.md @@ -0,0 +1,31 @@ +# The film + +The tour (40 s) is recorded frame by frame from `machines/radial/r2800-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/radial +node r2800-shared/make-timeline.mjs # r2800-film/timeline.json (beats) and events.json (every spark, the run at 100 Hz) +node "$SKILL_DIR/sims/build.mjs" ./r2800-film +echo '{"lang":"en"}' > /tmp/en.json # or fr / es +node "$SKILL_DIR/sims/capture.mjs" r2800-film --timeline r2800-film/timeline.json --config /tmp/en.json --size 1600x900 --dpr 1.2 --stills beats --cols 3 --out teardown-out/beats.png +node "$SKILL_DIR/sims/capture.mjs" r2800-film --timeline r2800-film/timeline.json --config /tmp/en.json --size 1600x900 --dpr 1.2 --out teardown-out/silent.mp4 +python3 "$SKILL_DIR/run_sfx.py" r2800-shared/score.py # teardown-out/radial-score.wav, mastered to −14 LUFS +ffmpeg -y -i teardown-out/silent.mp4 -i teardown-out/radial-score.wav -map 0:v -map 1:a -c:v copy -c:a aac -b:a 256k -shortest -movflags +faststart teardown-out/radial-en.mp4 +``` + +The share card is a frame of the film without the console, the star from the front at idle: + +```sh +echo '{"lang":"en","clean":true}' > /tmp/clean.json +node "$SKILL_DIR/sims/capture.mjs" r2800-film --config /tmp/clean.json --size 1600x900 --dpr 1.2 --still 11 --out teardown-out/og-src.png +ffmpeg -y -i teardown-out/og-src.png -vf "scale=1200:-1,crop=1200:630:0:(ih-630)/2" -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"`. + +The sound is built on the same timeline: the starter's whine, a cough for each spark that lights while the engine +catches (the missed ones stay silent), a thud per firing while they come slower than ~12 a second on screen, then a +growl whose pulse is the firing rate on screen, and the propeller's wash. diff --git a/machines/radial/REFERENCES.md b/machines/radial/REFERENCES.md new file mode 100644 index 0000000..fd58fbb --- /dev/null +++ b/machines/radial/REFERENCES.md @@ -0,0 +1,87 @@ +# Radial: references + +Radial is a model of a Pratt & Whitney R-2800 Double Wasp, the 18-cylinder twin-row radial of the F6F Hellcat, the +F4U Corsair, the P-47 and, after the war, the Douglas DC-6. It is built from public sources, as a **C-series CB16** +(the DC-6B's engine, single-stage two-speed supercharger, 0.45 : 1 propeller gear), and it is not affiliated with +Pratt & Whitney. Where a figure is not public, the model uses a plausible value, listed below under **[E]**. + +The letters match the comments in [`r2800-shared/engine.js`](r2800-shared/engine.js), the one file every pose, +gauge and sound reads its numbers from. + +## Sources + +- **[F]** FAA, Type Certificate Data Sheet **6A3**, Douglas DC-6A / DC-6B, revision 28 + ([copy on enginehistory.org](https://www.enginehistory.org/Operations/WaterInjServErrors/6A3Rev28.pdf)). Engine + limits of the P&W Double Wasp CB-16: take-off (two minutes, dry) 2,050 hp at 2,700 rpm and 55.0 inHg; take-off wet + (water-alcohol) 2,400 hp at 2,800 rpm and 59.5 inHg; maximum continuous 1,800 hp at 2,600 rpm and 48.5 inHg; + impeller gear ratios 7.29 : 1 (low) and 8.58 : 1 (high); ".45:1 propeller reduction gearing". The film climbs to + the dry take-off point. +- **[N]** Smithsonian National Air and Space Museum, + [Pratt & Whitney Double Wasp R-2800 CB16](https://airandspace.si.edu/collection-objects/pratt-whitney-double-wasp-r-2800-cb16-2-row-radial-18-engine/nasm_A19580058000) + (A19580058000): weight 1,068 kg (2,350 lb), diameter 52.8 in, length 81.4 in, gear-driven single-stage two-speed + supercharger, 2,400 hp at 2,800 rpm. +- **[W]** K. McCutcheon, [Pratt & Whitney Double Wasp (R-2800)](https://enginehistory.org/Piston/P&W/R-2800/r-2800.shtml), + Aircraft Engine Historical Society: bore 5.75 in, stroke 6.000 in, 2,804.5 in³; two master rod assemblies, each a + one-piece master rod and eight "I"-section articulated rods on knuckle pins; a crankshaft of three steel forgings + joined at the crankpins; forged aluminium heads screwed and shrunk on forged steel barrels, finned aluminium muffs; + one inlet and one exhaust valve per cylinder; valve gear and ignition "substantially the same as the Twin Wasp". + The C series' compression ratio, 6.75 : 1, is from the + [R-2800 article](https://en.wikipedia.org/wiki/Pratt_%26_Whitney_R-2800_Double_Wasp) (Wikipedia, citing the + manufacturer's data). +- **[H]** FAA, *Aviation Maintenance Technician Handbook, Powerplant* (FAA-H-8083-32), the chapters on radial + engines: the firing order numbers of an 18-cylinder twin-row radial are **+11 and −7**, which gives + 1-12-5-16-9-2-13-6-17-10-3-14-7-18-11-4-15-8; cylinders numbered clockwise from the top of the rear row, seen from + the rear, odd in the rear row; a nine-cylinder row's cam ring has 4 lobes per track and turns against the crank + (a lobe every 90°, at ⅛ crank speed). Copies of those pages: + [firing order](https://www.aircraftsystemstech.com/p/firingorder-firing-order-of-engine-is.html), + [valve operating mechanism](https://aircraftsystemstech.com/p/valveoperating-mechanism-for.html). + +The geometry was built against photographs of real engines (Wikimedia Commons): +[a sectioned R-2800](https://commons.wikimedia.org/wiki/File:Cross_Section_of_a_Pratt_and_Whitney_R2800_Double_Wasp.JPG) +(the profile in section: nose case and reduction gear, both rows, master rods, crank, impeller), +[an R-2800 on its stand](https://commons.wikimedia.org/wiki/File:HARP_Pratt_%26_Whitney_R-2800_Double_Wasp.JPG) +(nose, magnetos, harness ring, pushrod tubes, baffles), +[the R-2800-21 at the National Museum of the USAF](https://commons.wikimedia.org/wiki/File:Pratt_%26_Whitney_R-2800-21_USAF.jpg) +(the star from the front, black intake pipes, aluminium rocker boxes) and +[an R-2800 in profile](https://commons.wikimedia.org/wiki/File:20-09-083-R_2800.jpg) (the long supercharger and +accessory section). They belong to their authors and are not in this repository. + +## Estimates **[E]** + +Not public, or not found in a primary source; chosen to be plausible: + +| Figure | Value | Why | +|---|---|---| +| Master rod, crankpin to piston pin | 292 mm (11.5 in) | about 3.8 crank throws; fits the 1,341 mm diameter with the heads and rocker boxes | +| Knuckle-pin circle | 60.3 mm (2.375 in) | just outside the 92 mm crankpin and its bearing | +| Articulated rod | 231.7 mm (master − knuckle circle) | the usual first choice; the knuckle pins sit at exactly 40° steps (see below) | +| Master rods in cylinders | 13 (rear row), 8 (front row) | not found in the sources above | +| Row spacing along the axis | 210 mm | the reference photos | +| Valve timing | inlet 20° BTDC – 60° ABDC, exhaust 50° BBDC – 20° ATDC | typical of the period; lift 15.9 mm | +| Spark | 25° before top centre | typical | +| Idle, starter cranking | 700 rpm, 140 rpm | typical | +| Propeller | three blades, 4.0 m | a Hamilton Standard of the DC-6B's size | +| Power at other speeds | the propeller absorbs P ∝ N³ through the run, 2,050 hp at 2,700 rpm | a fixed-pitch law; inertia neglected | +| Manifold pressure | bmep = k · MAP − friction (1.2 + 0.6 (N/2,700)² bar) − pumping | k set so that 2,050 hp needs 55.0 inHg exactly; the same law gives 1,702 hp at the METO point (1,800 hp [F], −5.4 %) | +| Reduction gear layout | sun 72 teeth on the crank, ring 88 fixed, carrier on the shaft | gives 0.45 exactly; P&W's tooth counts are not public | + +## The model, by hand + +- π/4 × 5.75² × 6 × 18 = **2,804.5 in³** (45.96 L). +- 2,050 hp = 1,528.7 kW at 2,700 rpm (282.7 rad/s): **5,407 N·m** at the crank, a brake mean effective pressure of + 14.8 bar. +- 18 firings in two turns: 9 × 2,700 / 60 = **405 firings a second**, one every 40° of crank. +- Mean piston speed 2 × 0.1524 m × 45 rev/s = **13.7 m/s**. Propeller 0.45 × 2,700 = 1,215 rpm; impeller + 7.29 × 2,700 = 19,683 rpm. +- The cam ring: each tappet needs one lift in 720° of crank; 4 lobes on a ring turning at ⅛ crank speed against it + bring one every 90° × 8 = 720°. The model reads every valve's lift off the turning ring and check.mjs verifies it + equals the valve timing for all 36 valves. +- **The articulated rods.** The master rod's piston follows the plain slider-crank law: stroke 152.40 mm, top centre + when its crankpin points at it. An articulated rod hangs on a knuckle pin that orbits on the master rod's big end, + an ellipse rather than a circle, so its piston does not: with the knuckle pins at exact 40° steps the model gives + strokes from 152.41 to **153.08 mm**, top centres up to **3.7°** early or late and up to 2.45 mm lower, so a + compression ratio down to 6.27 against the master's 6.75. Real engines trim the knuckle-pin positions to even this + out; how P&W did it for the R-2800 is not in the public sources, so the page shows the uncorrected geometry and + says so. + +`node machines/radial/check.mjs` recomputes each of these from the code. diff --git a/machines/radial/check.mjs b/machines/radial/check.mjs new file mode 100644 index 0000000..117694e --- /dev/null +++ b/machines/radial/check.mjs @@ -0,0 +1,99 @@ +// Recomputes, from the same functions the page draws with, every figure Radial shows, and fails if one leaves the +// range its source gives. node machines/radial/check.mjs (CI runs it on every push). +import {CAM, CYL, DISPL_IN3, DISPL_L, E, FIRE, GEAR, hpOf, LAW, lift, liftFromTiming, ORDER, pinAngle, RATING, ROWS, stateAt} from './r2800-shared/engine.js'; +import {DURATION, rpmAt, sparkList, thetaAt} from './r2800-shared/schedule.js'; + +let bad = 0; +const near = (name, v, lo, hi, unit = '') => { + const ok = v >= lo && v <= hi; + if (!ok) bad++; + console.log(`${ok ? 'ok ' : 'BAD'} ${name.padEnd(52)} ${Number(v.toPrecision(6))} ${unit} [${lo} … ${hi}]`); +}; +const mod = (a, m) => ((a % m) + m) % m; + +// displacement: π/4 × 5.75² × 6 × 18 = 2,804.5 in³ [W] +near('displacement', DISPL_IN3, 2804, 2805, 'in³'); +near('displacement', DISPL_L, 45.9, 46.0, 'L'); + +// the firing order: +11, −7 [H], each cylinder once in 720°, 40° apart, the rows alternating +const BRIEF = '1-12-5-16-9-2-13-6-17-10-3-14-7-18-11-4-15-8'; +near('firing order is ' + BRIEF, ORDER.join('-') === BRIEF ? 1 : 0, 1, 1); +near('cylinders in the order, each once', new Set(ORDER).size, 18, 18); +let alt = 0; +for (let i = 0; i < 18; i++) if (CYL[ORDER[i] - 1].row !== CYL[ORDER[(i + 1) % 18] - 1].row) alt++; +near('consecutive firings in different rows', alt, 18, 18); +const gaps = ORDER.map((c, i) => mod(FIRE[ORDER[(i + 1) % 18]] - FIRE[c], 720)); +near('interval between firings (min)', Math.min(...gaps), 40, 40, '°'); +near('interval between firings (max)', Math.max(...gaps), 40, 40, '°'); +// at its firing TDC the row's crankpin points at the cylinder (the geometry agrees with the order) +let miss = 0; +for (const cy of CYL) miss = Math.max(miss, Math.abs(((mod(pinAngle(cy.row, FIRE[cy.c]) - cy.angle, 360) + 180) % 360) - 180)); +near('crankpin on the cylinder at its firing', miss, 0, 1e-9, '°'); +// every spark of the film, counted per cylinder over the running part: once per two turns +{ + const sp = sparkList(); + const t0 = 8; + const t1 = DURATION - 0.5; + const turns = (thetaAt(t1) - thetaAt(t0)) / 360; + const per = CYL.map((cy) => sp.filter((s) => s[1] === cy.c && s[0] >= t0 && s[0] < t1).length); + near('sparks per cylinder per 2 turns (film)', Math.min(...per) / (turns / 2), 0.98, 1.02); + near('', Math.max(...per) / (turns / 2), 0.98, 1.02); +} + +// the master rod and the articulated rods, exact: the master's piston follows the plain slider-crank law +const mF = LAW[E.master.front]; +near('master stroke (2 × crank throw)', mF.stroke, 152.399, 152.401, 'mm'); +near('master TDC at its pin angle', Math.abs(mF.tdcLag), 0, 0.05, '°'); +const arts = CYL.filter((c) => c.c !== E.master.front && c.c !== E.master.rear).map((c) => LAW[c.c]); +near('articulated strokes, shortest', Math.min(...arts.map((a) => a.stroke)), 152.4, 153.5, 'mm'); +near('articulated strokes, longest', Math.max(...arts.map((a) => a.stroke)), 152.4, 153.5, 'mm'); +near('articulated TDC, largest shift', Math.max(...arts.map((a) => Math.abs(a.tdcLag))), 0.1, 6, '°'); +near('articulated TDC, lowest below the master', -Math.min(...arts.map((a) => a.dTDC)), 0, 4, 'mm'); +near('compression ratio, master', mF.cr, 6.7499, 6.7501); +near('compression ratio, lowest articulated', Math.min(...arts.map((a) => a.cr)), 6.0, 6.75); +for (const row of ['rear', 'front']) { + const ws = ROWS[row].filter((c) => c.c !== E.master[row]).sort((a, b) => Math.abs(LAW[b.c].tdcLag) - Math.abs(LAW[a.c].tdcLag))[0]; + const x = LAW[ws.c]; + console.log(` ${row} row: master ${E.master[row]}, most different ${ws.c}: stroke ${x.stroke.toFixed(3)} mm, TDC ${x.tdcLag.toFixed(2)}°, ${(-x.dTDC).toFixed(2)} mm lower, CR ${x.cr.toFixed(3)}`); +} + +// the cam rings: 4 lobes at ⅛ crank speed against the crank [H]; the lift read off the ring equals the valve timing +near('cam ring speed', CAM.ratio, -0.125, -0.125); +near('lobes × 2 × speed = once per two turns', CAM.lobes * 2 * Math.abs(CAM.ratio), 1, 1); +let err = 0; +let opens = 0; +for (const cy of CYL) + for (const ev of ['in', 'ex']) { + let prev = lift(cy.c, ev, -0.5); + for (let th = 0; th < 720; th += 0.5) { + const a = lift(cy.c, ev, th); + err = Math.max(err, Math.abs(a - liftFromTiming(cy.c, ev, th))); + if (a > 0.5 && prev <= 0.5) opens++; + prev = a; + } + } +near('cam lift vs valve timing (max error)', err, 0, 1e-9); +near('valve openings in 720° (36 valves)', opens, 36, 36); + +// power: the take-off point is exact [F], the maximum-continuous point within 7 % +const to = stateAt(RATING.takeoff.rpm); +near('take-off power at 2,700 rpm', to.hp, 2049.9, 2050.1, 'hp'); +near('take-off manifold pressure', to.map, 54.99, 55.01, 'inHg'); +near('METO 1,800 hp at 2,600 rpm, 48.5″ (model)', hpOf(RATING.meto.map, RATING.meto.rpm), 1800 * 0.93, 1800 * 1.07, 'hp'); +near('take-off torque', to.torque, 5400, 5415, 'N·m'); +near('firing frequency at 2,700 rpm', to.fireHz, 405, 405, 'Hz'); +near('mean piston speed at 2,700 rpm', to.pistonMs, 13.71, 13.72, 'm/s'); +near('propeller at 2,700 rpm (0.45 : 1)', to.propRpm, 1215, 1215, 'rpm'); +near('impeller at 2,700 rpm (7.29 : 1)', to.impRpm, 19683, 19683, 'rpm'); +near('drawn reduction gear 72 / (72 + 88)', 72 / (72 + 88), GEAR.prop, GEAR.prop); +near('idle manifold pressure (model)', stateAt(RATING.idle).map, 8, 16, 'inHg'); + +// the film's run reaches take-off rpm and comes back to idle +near('film: peak rpm', Math.max(...Array.from({length: 400}, (_, i) => rpmAt(i / 10))), 2690, 2701, 'rpm'); +near('film: rpm at the end', rpmAt(DURATION), RATING.idle - 5, RATING.idle + 5, 'rpm'); + +if (bad) { + console.error(`\n${bad} figure(s) out of range`); + process.exit(1); +} +console.log('\nevery figure in range'); diff --git a/machines/radial/og.png b/machines/radial/og.png new file mode 100644 index 0000000000000000000000000000000000000000..2221eb466ff7c806ceb84271193d506b30b24fd0 GIT binary patch literal 413262 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

9|%5p(D4)unz9XeQ|{!)K7lSiwI_% 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

`); + app.appendChild(ui); + const add = (h) => { + const n = el(h); + ui.appendChild(n); + return n; + }; + + // ------------------------------------------------------------ title plate + add(`
`); + add(`
RADIAL
`); + add(`
${tr('subtitle')}
`); + add(`
${tr('model')}
`); + + // ------------------------------------------------------------ instruments + add(`
`); + add(`
${tr('fig', 1)}${tr('figInstr')}
`); + const dsvg = add(``); + const setRpm = dial(dsvg, {cx: 84, cy: 108, r: 76, min: 0, max: 3000, major: 500, minor: 100, label: tr('dRpm'), unit: tr('dRpmU'), scaleTxt: (v) => nf(v / 100), red: RATING.takeoff.rpm}); + const setMap = dial(dsvg, {cx: 222, cy: 56, r: 52, min: 10, max: 70, major: 20, minor: 5, label: tr('dMap'), unit: 'IN HG', red: RATING.takeoff.map, skipEnds: true}); + const setHp = dial(dsvg, {cx: 222, cy: 164, r: 52, min: 0, max: 2500, major: 500, minor: 250, label: tr('dHp'), unit: 'HP × 100', scaleTxt: (v) => nf(v / 100), red: RATING.takeoff.hp, skipEnds: true}); + const readTop = 382; + const rowsTxt = ['rTorque', 'rPiston', 'rProp'].map((k, i) => + add(`
${tr(k)}
`).querySelector('b'), + ); + + // ------------------------------------------------------------ data plate + add(`
`); + add(`
${tr('fig', 2)}${tr('figData')}
`); + const data = [ + ['pBore', `${nf(5.75, 2)} × ${nf(6, 2)} in`], + ['pDispl', `${fInt(DISPL_IN3)} in³ · ${nf(DISPL_L, 1)} L`], + ['pCr', `${nf(E.cr, 2)} : 1`], + ['pTo', `${fInt(RATING.takeoff.hp)} hp · ${fInt(RATING.takeoff.rpm)} · ${nf(RATING.takeoff.map, 1)}″`], + ['pWet', `${fInt(RATING.wet.hp)} hp · ${fInt(RATING.wet.rpm)} · ${nf(RATING.wet.map, 1)}″`], + ['pRed', `${nf(GEAR.prop, 2)} : 1`], + ['pSc', tr('pScV', nf(GEAR.impLow, 2), nf(GEAR.impHigh, 2))], + ['pMass', `${fInt(MASS_KG)} kg`], + ['pCam', tr('pCamV')], + ['pIgn', tr('pIgnV')], + ]; + data.forEach(([k, v], i) => add(`
${tr(k)}${v}
`)); + + // ------------------------------------------------------------ the run: phase, slow motion, live controls + add(`
`); + add(`
${tr('fig', 3)}${tr('figRun')}
`); + const phaseTxt = add(`
`); + const slowTxt = add(`
`); + const btn = {}; + ['starter', 'ignition', 'slowmo', 'pause'].forEach((k, i) => { + btn[k] = add(`
${tr({starter: 'bStarter', ignition: 'bIgnition', slowmo: 'bSlow', pause: 'pause'}[k])}
`); + }); + add(`
${tr('throttle')}
`); + const thrVal = add(`
`); + const SL = {x: 44, w: 260}; + add(`
`); + const thrKnob = add(`
`); + + + // ------------------------------------------------------------ firing-order star + add(`
`); + add(`
${tr('fig', 4)}${tr('figStar')}
`); + add(`
${tr('starSub')}
`); + const SC = {cx: 146, cy: 112, rr: 64, rf: 92}; + const star = add(``); + const sp = (a, r) => [SC.cx - Math.sin(a * D2R) * r, SC.cy - Math.cos(a * D2R) * r]; + { + let h = ``; + h += ``; + for (const cy of CYL) { + const [x, y] = sp(cy.angle, cy.row === 'rear' ? SC.rr : SC.rf); + h += ``; + h += `${cy.c}`; + } + h += ``; + h += `${tr('starKey')}`; + star.innerHTML = h; + } + const starDots = Object.fromEntries(CYL.map((cy) => [cy.c, star.querySelector(`[data-c="${cy.c}"]`)])); + const starTxt = Object.fromEntries(CYL.map((cy) => [cy.c, star.querySelector(`[data-t="${cy.c}"]`)])); + const pins = star.querySelector('.pins'); + const orderBox = add(`
`); + orderBox.innerHTML = ORDER.map((c) => `${c}`).join(''); + const orderSpans = Object.fromEntries(ORDER.map((c) => [c, orderBox.querySelector(`[data-o="${c}"]`)])); + const starFoot = add(`
`); + + // ------------------------------------------------------------ context figure + add(`
`); + const ctxTitle = add(`
`); + const ctxSvg = add(``); + const ctxTxt = add(`
`); + + // ------------------------------------------------------------ subsystems, cutaways, views, layers + add(`
`); + const spots = {}; + const group = (title, keys, y, label, cols) => { + add(`
${title}
`); + const W = 264; + const gap = 4; + const w = (W - gap * (cols - 1)) / cols; + keys.forEach((k, i) => { + const x = 1294 + (i % cols) * (w + gap); + const yy = y + 15 + Math.floor(i / cols) * 25; + btn[k] = add(`
${label(k)}
`); + spots[k] = [x + w / 2, yy + 11]; + }); + return y + 15 + Math.ceil(keys.length / cols) * 25 + 4; + }; + let y = group(tr('grpSub'), SUBS, 628, (k) => tr('sub:' + k), 2); + y = group(tr('grpCut'), CUTS, y, (k) => tr('cut:' + k), 3); + y = group(tr('grpView'), CAMS, y, (k) => tr('cam:' + k), 4); + group(tr('grpLayer'), LAYERS, y, (k) => tr('lay:' + k), 2); + ['starter', 'ignition', 'slowmo', 'pause'].forEach((k, i) => (spots[k] = [42 + i * 66.5 + 31, 813])); + spots.throttle = [SL.x + SL.w * 0.15, 853]; + spots.throttleBack = [SL.x + SL.w, 853]; + + // ------------------------------------------------------------ caption, callouts, cursor + const cap = add(`
`); + const leaders = add(``); + const callPool = []; + const cursor = add(``); + const ring = add(`
`); + + // ------------------------------------------------------------ context figures + const plot = (pts, x0, y0, w, h, xr, yr, color, width = 1.6, dash = '') => { + const X = (x) => x0 + ((x - xr[0]) / (xr[1] - xr[0])) * w; + const Y = (v) => y0 + h - ((v - yr[0]) / (yr[1] - yr[0])) * h; + return ``; + }; + const axes = (x0, y0, w, h, xl, yl) => + `` + + `${xl}${yl}`; + // the piston law: master against its most different articulated rod, the difference magnified + const lawCyl = (row) => ROWS[row].filter((c) => c.c !== E.master[row]).reduce((a, b) => (Math.abs(LAW[b.c].tdcLag) > Math.abs(LAW[a.c].tdcLag) ? b : a)).c; + const lawStatic = {}; + const lawFig = (row) => { + if (lawStatic[row]) return lawStatic[row]; + const m = E.master[row]; + const a = lawCyl(row); + const dm = CYL[a - 1].angle - CYL[m - 1].angle; + const t0 = LAW[m].thTDC; + const ptsD = []; + for (let i = 0; i <= 180; i++) { + const x = i * 2; + ptsD.push([x, pistonS(a, t0 + x + dm) - pistonS(m, t0 + x)]); + } + const lo = Math.min(...ptsD.map((p) => p[1])); + const hi = Math.max(...ptsD.map((p) => p[1])); + const ym = Math.max(Math.abs(lo), Math.abs(hi)) * 1.15; + const h = + axes(30, 6, 236, 100, tr('lawX'), tr('lawY')) + + `` + + plot(ptsD, 30, 6, 236, 100, [0, 360], [-ym, ym], C.acc, 2.2) + + `+${nf(ym, 1)}−${nf(ym, 1)}`; + lawStatic[row] = {h, m, a, dm, ym, t0}; + return lawStatic[row]; + }; + const camFig = {}; + const camFigFor = (c) => { + if (camFig[c]) return camFig[c]; + const pi = []; + const pe = []; + for (let i = 0; i <= 240; i++) { + const th = FIRE[c] + i * 3; + pi.push([i * 3, lift(c, 'in', th)]); + pe.push([i * 3, lift(c, 'ex', th)]); + } + const h = axes(30, 6, 236, 96, tr('camX'), tr('camY')) + plot(pe, 30, 6, 236, 96, [0, 720], [0, 1.15], C.ink, 1.8, '4 3') + plot(pi, 30, 6, 236, 96, [0, 720], [0, 1.15], C.ink, 2) + [180, 360, 540].map((x) => ``).join('') + ['power', 'exhaust', 'intake', 'compression'].map((k, i) => `${tr('st:' + k)}`).join(''); + camFig[c] = h; + return h; + }; + const toFig = (() => { + const pts = []; + for (let N = 600; N <= 2800; N += 50) pts.push([N, propHp(N)]); + const tq = []; + for (let N = 600; N <= 2800; N += 50) tq.push([N, stateAt(N).torque]); + return axes(30, 6, 236, 100, tr('toX'), tr('toY')) + plot(pts, 30, 6, 236, 100, [600, 2800], [0, 2500], C.ink, 2) + plot(tq.map(([a, b]) => [a, b / 2.4]), 30, 6, 236, 100, [600, 2800], [0, 2500], C.ink, 1.6, '4 3') + ``; + })(); + let ctxKey = ''; + + const update = (s) => { + // dials and readouts + setRpm(s.N); + setMap(s.map); + setHp(s.hp); + rowsTxt[0].textContent = `${fInt(s.torque)} N·m · ${fInt(s.torque * 0.7376)} lb·ft`; + rowsTxt[1].textContent = `${nf(s.pistonMs, 1)} m/s`; + rowsTxt[2].textContent = `${fInt(s.propRpm)} · ${fInt(s.impRpm)}`; + // the run + phaseTxt.textContent = tr('ph:' + s.phase); + slowTxt.innerHTML = s.rate < 0.98 ? tr('slow', nf(1000 * s.rate, 0), nf(1 / s.rate, 0)) : tr('realtime'); + thrVal.textContent = `${fInt(s.thrRpm ?? s.N)} ${tr('rpmShort')}`; + thrKnob.style.left = `${SL.x + SL.w * Math.min(1, Math.max(0, ((s.thrRpm ?? s.N) - RATING.idle) / (RATING.takeoff.rpm - RATING.idle)))}px`; + btn.starter.classList.toggle('on', !!s.starter); + btn.ignition.classList.toggle('on', !!s.ignition); + btn.pause.classList.toggle('on', !!s.paused); + btn.slowmo.classList.toggle('on', s.rate < 0.98); + // the star: the crank pins turn, the cylinder that fires lights + pins.setAttribute('transform', `rotate(${-s.th} ${SC.cx} ${SC.cy})`); + let best = 0; + let bestC = 0; + for (const cy of CYL) { + const g = s.lit[cy.c - 1]; + const dot = starDots[cy.c]; + const k = Math.min(1, g * 1.6); + dot.setAttribute('fill', k > 0.02 ? `rgba(10,143,224,${(0.2 + 0.8 * k).toFixed(3)})` : cy.row === 'rear' ? '#e7e3d8' : '#fbf9f3'); + dot.setAttribute('stroke', k > 0.3 ? C.acc : C.ink); + starTxt[cy.c].setAttribute('fill', k > 0.5 ? '#fff' : C.ink); + if (g > best) [best, bestC] = [g, cy.c]; + } + for (const c of ORDER) { + const on = c === bestC && best > 0.15; + orderSpans[c].style.color = on ? '#fff' : C.ink; + orderSpans[c].style.background = on ? C.acc : 'transparent'; + } + starFoot.innerHTML = tr('starFoot', nf(s.fireHz, 0)); + // context figure + const key = s.ctx + ':' + (s.ctxArg ?? ''); + if (key !== ctxKey) { + ctxKey = key; + ctxTitle.innerHTML = `${tr('fig', 5)}${tr('ctx:' + s.ctx)}`; + if (s.ctx === 'law') ctxSvg.innerHTML = lawFig(s.ctxArg || 'front').h + ``; + else if (s.ctx === 'cam') ctxSvg.innerHTML = camFigFor(s.ctxArg) + ``; + else if (s.ctx === 'takeoff') ctxSvg.innerHTML = toFig + ``; + else if (s.ctx === 'throws') ctxSvg.innerHTML = ``; + else ctxSvg.innerHTML = ``; + } + const cur1 = ctxSvg.querySelector('.cur1'); + if (s.ctx === 'law') { + const L = lawFig(s.ctxArg || 'front'); + const m = LAW[L.m]; + const a = LAW[L.a]; + const th = (((s.th - L.t0) % 360) + 360) % 360; + const x = 30 + (th / 360) * 236; + const d = pistonS(L.a, s.th + L.dm) - pistonS(L.m, s.th); + cur1.innerHTML = ``; + ctxTxt.innerHTML = tr('lawTxt', L.m, L.a, nf(m.stroke, 2), nf(a.stroke, 2), nf(Math.abs(a.tdcLag), 1), nf(-a.dTDC, 2), nf(m.cr, 2), nf(a.cr, 2), a.tdcLag > 0); + } else if (s.ctx === 'cam') { + const c = s.ctxArg; + const ph = (((s.th - FIRE[c]) % 720) + 720) % 720; + const x = 30 + (ph / 720) * 236; + cur1.innerHTML = ``; + ctxTxt.innerHTML = tr('camTxt', c, CAM.lobes, nf(CAM.liftMm, 1), nf(lift(c, 'in', s.th) * CAM.liftMm, 1), nf(lift(c, 'ex', s.th) * CAM.liftMm, 1), VALVE.in, VALVE.ex); + } else if (s.ctx === 'takeoff') { + const x = 30 + ((Math.min(2800, Math.max(600, s.N)) - 600) / 2200) * 236; + const yv = 6 + 100 - (Math.min(2500, s.hp) / 2500) * 100; + cur1.innerHTML = ``; + ctxTxt.innerHTML = tr('toTxt', fInt(s.hp), fInt(s.N), nf(s.map, 1), fInt(s.torque)); + } else if (s.ctx === 'throws') { + // the two crankpins seen from the front, and the rows + const cx = 70; + const cy = 66; + const rr = s.th * D2R; + const p = (a, r) => [cx - Math.sin(a) * r, cy - Math.cos(a) * r]; + const [x1, y1] = p(rr, 34); + const [x2, y2] = p(rr + Math.PI, 34); + cur1.innerHTML = `${tr('throwKey')}` + + `${tr('throwA')}${tr('throwA2')}${tr('throwB')}${tr('throwB2')}`; + ctxTxt.innerHTML = tr('throwTxt'); + } else if (s.ctx === 'ign') { + cur1.innerHTML = ''; + ctxTxt.innerHTML = tr('ignTxt'); + } else { + cur1.innerHTML = ''; + ctxTxt.innerHTML = tr('ctxTxt:' + s.ctx); + } + const plain = !['law', 'cam', 'takeoff', 'throws'].includes(s.ctx); + ctxTxt.style.top = plain ? '418px' : '548px'; + ctxTxt.style.fontSize = plain ? '15px' : '13px'; + // buttons + for (const k of SUBS) btn[k].classList.toggle('on', s.sub === k); + for (const k of CUTS) btn[k].classList.toggle('on', s.cut === k); + for (const k of CAMS) btn[k].classList.toggle('on', s.camBtn === k); + btn.cowl.classList.toggle('on', !!s.layers?.cowl); + btn.callouts.classList.toggle('on', !!s.layers?.callouts); + // caption + cap.textContent = s.caption || ''; + cap.style.display = s.caption ? '' : 'none'; + // callouts + const list = s.callouts || []; + let lh = ''; + list.forEach((c, i) => { + let d = callPool[i]; + if (!d) { + d = add(`
`); + callPool[i] = d; + } + const o = c.o ?? 1; + if (!c.at || o < 0.02) { + d.style.display = 'none'; + return; + } + d.style.display = ''; + d.style.opacity = o; + d.querySelector('b').textContent = c.name; + d.querySelector('span').textContent = c.sub || ''; + const right = c.w < 0; + const [lx, ly] = c.label; + d.style.left = right ? '' : `${lx}px`; + d.style.right = right ? `${1600 - lx}px` : ''; + d.style.textAlign = right ? 'right' : 'left'; + d.classList.toggle('r', right); + d.style.top = `${ly - 17}px`; + const ex = lx; + const kx = ex + (right ? 1 : -1) * Math.abs(c.w) * 0.25; + lh += ``; + }); + for (let i = list.length; i < callPool.length; i++) callPool[i].style.display = 'none'; + leaders.innerHTML = lh; + // cursor + const cu = s.cursor || {x: -99, y: -99}; + cursor.style.transform = `translate(${cu.x - 3}px, ${cu.y - 2}px) scale(${cu.press ? 0.9 : 1})`; + ring.style.left = `${cu.ringX ?? 0}px`; + ring.style.top = `${cu.ringY ?? 0}px`; + ring.style.opacity = cu.ring ?? 0; + ring.style.transform = `scale(${1.6 - 0.6 * (cu.ring ?? 0)})`; + }; + return {root: ui, btn, spots, update, SL, thrKnob}; +} +void DISPL_IN3; diff --git a/machines/radial/r2800-shared/engine.js b/machines/radial/r2800-shared/engine.js new file mode 100644 index 0000000..34b6b4b --- /dev/null +++ b/machines/radial/r2800-shared/engine.js @@ -0,0 +1,222 @@ +// The R-2800 Double Wasp, the numbers: one source for every figure the page shows and every pose the 3D takes. +// Modelled on a C-series R-2800 CB16 (Douglas DC-6B, Convair 340) from public sources; not affiliated with Pratt & +// Whitney. The letters match REFERENCES.md: [F] the FAA type certificate data sheet 6A3, [N] the Smithsonian NASM +// record, [H] the FAA powerplant handbook, [W] the published series description, [E] an estimate (not public). +// +// No three.js in here: node imports it for check.mjs, the timeline and the score. Units are millimetres and degrees. +// Angles around the engine are measured clockwise from the top, seen from the rear (the pilot's side); the crankshaft +// turns clockwise seen from the rear, the usual US "right-hand tractor". + +export const E = { + bore: 146.05, // 5.75 in [W] + stroke: 152.4, // 6.0 in [W] + r: 76.2, // crank throw, half the stroke + L: 292, // master rod, crankpin centre to piston pin [E] + rk: 60.3, // knuckle-pin circle on the master rod's big end, 2.375 in [E] + l: 231.7, // articulated rod, knuckle pin to piston pin: L - rk [E] + cr: 6.75, // compression ratio of the C series [W] + compH: 66, // piston pin to crown [E] + rowZ: {rear: -105, front: 105}, // the two rows along the axis [E] + master: {rear: 13, front: 8}, // the cylinders that carry the master rods [E] +}; +export const DISPL_IN3 = (Math.PI / 4) * 5.75 ** 2 * 6 * 18; // 2,804.5 in³ +export const DISPL_L = DISPL_IN3 * 0.016387064; // 45.96 L +export const RATING = { + takeoff: {hp: 2050, rpm: 2700, map: 55.0}, // dry, two minutes, low blower [F] + wet: {hp: 2400, rpm: 2800, map: 59.5}, // water-alcohol injection [F] + meto: {hp: 1800, rpm: 2600, map: 48.5}, // maximum continuous [F] + idle: 700, // [E] + crank: 140, // starter cranking speed [E] +}; +export const GEAR = {prop: 0.45, impLow: 7.29, impHigh: 8.58}; // [F] +export const MASS_KG = 1068; // 2,350 lb [N] +export const DIAMETER_MM = 1341; // 52.8 in [N] +export const LENGTH_MM = 2068; // 81.4 in [N] +export const PROP_D = 4.0; // m, a three-blade Hamilton Standard [E] + +// ------------------------------------------------------------ cylinders, numbering and firing order +// 1 at the top of the rear row, then clockwise seen from the rear: odd numbers in the rear row, even in the front, +// the front row turned 20° from the rear one [H]. 18 cylinders, 20° apart, 40° within a row. +export const CYL = Array.from({length: 18}, (_, i) => { + const c = i + 1; + const row = c % 2 ? 'rear' : 'front'; + return {c, row, k: Math.floor(i / 2), angle: 20 * i, z: E.rowZ[row]}; +}); +export const ROWS = {rear: CYL.filter((x) => x.row === 'rear'), front: CYL.filter((x) => x.row === 'front')}; +// the firing order numbers of an 18-cylinder twin-row radial are +11 and -7 [H] +export const ORDER = (() => { + const o = [1]; + while (o.length < 18) { + const a = o[o.length - 1] + 11; + o.push(a <= 18 ? a : o[o.length - 1] - 7); + } + return o; +})(); +export const INTERVAL = 720 / 18; // 40° of crank between firings +export const FIRE = Object.fromEntries(ORDER.map((c, i) => [c, i * INTERVAL])); // crank angle of each firing TDC +export const SPARK_ADV = 25; // ° before TDC [E] +const mod = (a, m) => ((a % m) + m) % m; +export const wrap180 = (a) => mod(a + 180, 360) - 180; +/** four-stroke phase of cylinder c, degrees after its firing TDC: 0-180 power, 180-360 exhaust, 360-540 intake, 540-720 compression */ +export const psi = (c, th) => mod(th - FIRE[c], 720); +export const STROKES = ['power', 'exhaust', 'intake', 'compression']; +export const strokeOf = (ps) => STROKES[Math.floor(mod(ps, 720) / 180)]; + +// ------------------------------------------------------------ the crank and the rods, exact +const vec = (a) => [Math.sin((a * Math.PI) / 180), Math.cos((a * Math.PI) / 180)]; +const rotCW = ([x, y], a) => { + const c = Math.cos((a * Math.PI) / 180); + const s = Math.sin((a * Math.PI) / 180); + return [x * c + y * s, -x * s + y * c]; +}; +const dot = (a, b) => a[0] * b[0] + a[1] * b[1]; +const cross = (a, b) => a[0] * b[1] - a[1] * b[0]; +/** the crankpin of a row: the rear one at θ, the front one at θ + 180° */ +export const pinAngle = (row, th) => (row === 'rear' ? th : th + 180); +/** + * every rod of one row at crank angle th: the crankpin C, the master rod's direction d, and for each cylinder its + * piston pin distance from the axis s (mm), its knuckle pin K (the master's own is C) and its piston pin P, in the + * plane of the row seen from the rear (x right, y up) + */ +export function rowPose(row, th) { + const C = vec(pinAngle(row, th)).map((v) => v * E.r); + const m = CYL[E.master[row] - 1]; + const um = vec(m.angle); + const sm = dot(C, um) + Math.sqrt(E.L * E.L - cross(C, um) ** 2); + const Pm = [um[0] * sm, um[1] * sm]; + const d = [(Pm[0] - C[0]) / E.L, (Pm[1] - C[1]) / E.L]; + const out = {C, d, cyl: {}}; + for (const cy of ROWS[row]) { + const u = vec(cy.angle); + if (cy.c === m.c) { + out.cyl[cy.c] = {s: sm, K: C, P: Pm, master: true}; + continue; + } + const kd = rotCW(d, cy.angle - m.angle); + const K = [C[0] + kd[0] * E.rk, C[1] + kd[1] * E.rk]; + const s = dot(K, u) + Math.sqrt(E.l * E.l - cross(K, u) ** 2); + out.cyl[cy.c] = {s, K, P: [u[0] * s, u[1] * s], master: false}; + } + return out; +} +export const pistonS = (c, th) => rowPose(CYL[c - 1].row, th).cyl[c].s; + +// the law of each piston, sampled once at 0.05°: stroke, TDC height and where TDC falls, against the ideal +// slider-crank of the master rod +export const LAW = (() => { + const out = {}; + for (const cy of CYL) { + let max = -1e9; + let min = 1e9; + let thMax = 0; + let thMin = 0; + for (let i = 0; i < 7200; i++) { + const th = i * 0.05; + const s = pistonS(cy.c, th); + if (s > max) [max, thMax] = [s, th]; + if (s < min) [min, thMin] = [s, th]; + } + // the crank angle at which the pin points at this cylinder: TDC for a plain slider-crank + const ideal = mod(cy.angle - (cy.row === 'rear' ? 0 : 180), 360); + const A = (Math.PI / 4) * E.bore * E.bore; + out[cy.c] = {sTDC: max, sBDC: min, stroke: max - min, thTDC: thMax, thBDC: thMin, tdcLag: wrap180(thMax - ideal), bdcLag: wrap180(thMin - ideal - 180), A}; + } + // clearance volume: set by the master's compression ratio; a piston that stops lower leaves a bigger chamber + for (const row of ['rear', 'front']) { + const m = out[E.master[row]]; + const Vc = (m.A * m.stroke) / (E.cr - 1); + for (const cy of ROWS[row]) { + const x = out[cy.c]; + x.Vc = Vc + x.A * (m.sTDC - x.sTDC); + x.cr = (x.Vc + x.A * x.stroke) / x.Vc; + x.dTDC = x.sTDC - m.sTDC; + } + } + return out; +})(); +export const MASTER_STROKE = LAW[E.master.front].stroke; + +// ------------------------------------------------------------ valves: two cam rings, no camshaft +// one ring per row, two tracks (inlet, exhaust), 4 lobes 90° apart, turning at 1/8 crank speed against the crank: +// a lobe reaches each tappet once every 720° of crank [H]. Valve events in crank degrees after the firing TDC [E]. +export const CAM = {lobes: 4, ratio: -1 / 8, liftMm: 15.9, zOff: 88}; +export const VALVE = {in: [340, 600], ex: [130, 380]}; // inlet opens 20° BTDC, closes 60° ABDC; exhaust 50° BBDC to 20° ATDC +const centre = ([a, b]) => (a + b) / 2; +const halfCam = ([a, b]) => (b - a) / 16; // the event's half-width in cam degrees (crank ÷ 8 ÷ 2) +// each track's phase, derived from the firing order: the lobe is centred on cylinder c's tappet when the crank is at +// the centre of c's event. The same constant holds for every cylinder of a row (check.mjs verifies it). +const phaseOf = (row, ev) => { + const c = ROWS[row][0]; + return mod(c.angle + (FIRE[c.c] + centre(VALVE[ev])) / 8, 90); +}; +export const CAM_PHASE = {rear: {in: phaseOf('rear', 'in'), ex: phaseOf('rear', 'ex')}, front: {in: phaseOf('front', 'in'), ex: phaseOf('front', 'ex')}}; +/** the ring's rotation (degrees, clockwise from the rear) at crank angle th: it turns against the crank at 1/8 */ +export const camAngle = (th) => th * CAM.ratio; +/** a lobe's offset in front of cylinder c's tappet, cam degrees, in [-45, 45) */ +export const lobeOffset = (c, ev, th) => { + const cy = CYL[c - 1]; + return mod(cy.angle - camAngle(th) - CAM_PHASE[cy.row][ev] + 45, 90) - 45; +}; +/** the lobe's rise under a tappet: 0..1, a smooth bump over the event's width */ +export const lobeRise = (x, half) => { + const u = Math.abs(x) / half; + return u >= 1 ? 0 : 0.5 + 0.5 * Math.cos(Math.PI * u); +}; +/** valve lift of cylinder c (0..1 of CAM.liftMm), read off the cam ring at crank angle th */ +export const lift = (c, ev, th) => lobeRise(lobeOffset(c, ev, th), halfCam(VALVE[ev])); +/** the same lift from the valve timing alone, for check.mjs */ +export const liftFromTiming = (c, ev, th) => { + const ps = psi(c, th); + const [a, b] = VALVE[ev]; + const x = mod(ps - centre([a, b]) + 360, 720) - 360; + return lobeRise(x / 8, halfCam([a, b])); +}; + +// ------------------------------------------------------------ ignition +// 2 plugs per cylinder (36), 2 magnetos each feeding one plug of every cylinder; a distributor turns at half crank +// speed so each plug fires once in two turns [W] +export const IGN = {plugs: 36, magnetos: 2, distRatio: 0.5}; +/** how long ago (crank degrees) cylinder c's plugs last fired, at th; the flame lights from the spark to ~70° ATDC */ +export const sinceSpark = (c, th) => mod(th - (FIRE[c] - SPARK_ADV), 720); + +// ------------------------------------------------------------ power, from the rpm alone +// quasi-steady: the propeller at fine pitch absorbs P ∝ N³, set to the take-off rating at 2,700 rpm [E]. The power +// needs a brake mean effective pressure; manifold pressure follows from bmep = k·MAP − friction − pumping, k set so +// that the take-off point is exact (2,050 hp needs 55.0 inHg [F]). check.mjs holds the METO point within 7 %. +const HP = 745.7; +const INHG = 0.033864; // bar per inHg +const AMB = 29.92; +export const fmep = (N) => 1.2 + 0.6 * (N / 2700) ** 2; // bar [E] +export const propHp = (N) => RATING.takeoff.hp * (N / RATING.takeoff.rpm) ** 3; +/** bmep in bar for a brake power (hp) at N rpm */ +export const bmepOf = (hp, N) => (N > 1 ? (2 * hp * HP) / ((DISPL_L / 1000) * (N / 60)) / 1e5 : 0); +export const K_MAP = (() => { + const {hp, rpm, map} = RATING.takeoff; + return (bmepOf(hp, rpm) + fmep(rpm) + (AMB - map) * INHG) / map; +})(); +/** brake power from MAP and N (the inverse) */ +export const hpOf = (map, N) => (Math.max(0, K_MAP * map - fmep(N) - (AMB - map) * INHG) * 1e5 * (DISPL_L / 1000) * (N / 60)) / 2 / HP; +/** + * the engine's state at N rpm. run 0..1: how far the engine has caught (0 on the starter, 1 running). Returns + * manifold pressure (inHg), brake power (hp), crank torque (N·m), firing frequency (Hz), mean piston speed (m/s), + * propeller and impeller rpm. + */ +export function stateAt(N, run = 1) { + const hp = run * propHp(N); + const mapRun = N > 1 ? (bmepOf(propHp(N), N) + fmep(N) + AMB * INHG) / (K_MAP + INHG) : AMB; + const mapCrank = AMB - 0.9 * Math.min(1, N / 100); + const map = mapCrank + (mapRun - mapCrank) * run; + const w = (N * 2 * Math.PI) / 60; + return { + N, + map, + hp, + kw: hp * HP * 1e-3, + torque: w > 0.1 ? (hp * HP) / w : 0, + fireHz: (N / 60) * 9, + pistonMs: (2 * E.stroke * 1e-3 * N) / 60, + propRpm: N * GEAR.prop, + impRpm: N * GEAR.impLow, + }; +} +export const AMBIENT_INHG = AMB; diff --git a/machines/radial/r2800-shared/film.js b/machines/radial/r2800-shared/film.js new file mode 100644 index 0000000..70bf3bd --- /dev/null +++ b/machines/radial/r2800-shared/film.js @@ -0,0 +1,298 @@ +// Radial, the film: the R-2800 (model.js) on its run-up stand (stage.js) under the manual-plate overlay (console.js). +// One input, the crank angle θ(t) integrated once from the planned run (schedule.js), poses every piston, rod, cam, +// valve, magneto, gear and the propeller, lights each spark, and drives every gauge. The operator starts the engine, +// watches the firing order go round the star, cuts a row, pulls the rows apart, looks at a cam ring lifting a valve, +// opens the throttle to take-off rpm and closes it again. A pure function of t. +import * as THREE from 'three'; +import {runSim} from 'teardown-kit/runtime.js'; +import {createConsole} from './console.js'; +import {CYL, E, lift, ROWS, stateAt, wrap180} from './engine.js'; +import {loadFonts} from './fonts.js'; +import {T as tr} from './i18n.js'; +import {airAt, camAtName, camSince, DURATION, lastSpark, rateAt, rpmAt, RUN, runAtTau, SCRIPT, starterAtTau, tauAt, thetaAt} from './schedule.js'; +import {createStage} from './stage.js'; + +export {DURATION, SCRIPT}; +export const DEFAULTS = {duration: DURATION, fps: 60, theme: 'light', hud: {enabled: false, title: 'radial', subtitle: ''}, director: {enabled: false}, watermark: ''}; +const D2R = Math.PI / 180; +export const smoother = (x) => { + const u = Math.min(1, Math.max(0, x)); + return u * u * u * (u * (u * 6 - 15) + 10); +}; +export const ss = (a, b, t) => smoother((t - a) / (b - a)); + +// the cylinder the cam view watches: the front-row cylinder near the top whose inlet valve opens mid-hold +export const CAM_CYL = (() => { + const t0 = 24.4; + const t1 = 28.0; + let best = ROWS.front[0].c; + let score = -1e9; + for (const cy of ROWS.front) { + let peak = 0; + let tp = 0; + for (let t = t0; t <= t1; t += 0.02) { + const L = lift(cy.c, 'in', thetaAt(t)); + if (L > peak) [peak, tp] = [L, t]; + } + const top = Math.cos(cy.angle * D2R); + const s = peak * 2 + top * 1.2 - Math.abs(tp - 26.2) * 0.6; + if (s > score) [score, best] = [s, cy.c]; + } + return best; +})(); + +// ------------------------------------------------------------ views, each a function of u (seconds since it came on) +const camAng = CYL[CAM_CYL - 1].angle; +export const VIEW_FN = { + hero: (u) => ({tx: 0, ty: -0.04, tz: 0.04, az: 36 + 1.0 * Math.min(u, 8), el: 9 + 0.3 * Math.min(u, 8), d: 4.7 - 0.05 * Math.min(u, 8), sx: 0, sy: 0}), + face: (u) => ({tx: 0, ty: 0, tz: 0, az: 0, el: 1.5, d: 4.35 - 0.06 * Math.min(u, 6), sx: 0, sy: 0}), + faceFull: (u) => ({tx: 0, ty: 0, tz: 0, az: -4 + 1.2 * u, el: 2, d: 4.5 - 0.04 * u, sx: 0, sy: 0}), + rowcut: (u) => ({tx: 0, ty: 0, tz: 0.1, az: 0, el: 0, d: 3.7 - 0.12 * Math.min(u, 6), sx: 0, sy: 0}), + apart: (u) => ({tx: 0, ty: 0.02, tz: 0.03, az: 58 + 1.6 * u, el: 18, d: 3.4, sx: 0, sy: 0}), + cam: (u) => { + // beside the watched cylinder, looking across it: the cam ring, the tappet, the tube, the rocker, the valve + const a = camAng * D2R; + const ur = [-Math.sin(a), Math.cos(a), 0]; + const ut = [Math.cos(a), Math.sin(a), 0]; + const sw = 0.1 * Math.sin(u * 0.35); + const dir = [0, 1, 2].map((i) => (0.82 + sw) * ut[i] + 0.5 * (i === 2 ? 1 : 0) + 0.22 * ur[i]); + const n = Math.hypot(...dir); + const [dx, dy, dz] = dir.map((v) => v / n); + const R = 0.31; + return {tx: ur[0] * R, ty: ur[1] * R, tz: 0.105 + 0.11, az: Math.atan2(dx, dz) / D2R, el: Math.asin(dy) / D2R, d: 1.8 - 0.02 * u, sx: 0, sy: 0}; + }, + takeoff: (u) => ({tx: 0, ty: -0.05, tz: -0.12, az: 64 + 5.5 * u, el: 7, d: 5.3, sx: 0, sy: 0}), + heroEnd: (u) => ({...VIEW_FN.hero(u), d: 4.8 - 0.03 * u}), + // live-only + profile: () => ({tx: 0, ty: 0, tz: -0.25, az: 90, el: 2, d: 5.4, sx: 0, sy: 0}), + inside: () => { + // across the cut through cylinder 2's axis: the piston, the chamber, both valves and both plugs + const a = CYL[1].angle * D2R; + const ur = [-Math.sin(a), Math.cos(a)]; + const ut = [Math.cos(a), Math.sin(a)]; + const dir = [ut[0] * 0.93 + ur[0] * 0.2, ut[1] * 0.93 + ur[1] * 0.2, 0.3]; + const n = Math.hypot(...dir); + return {tx: ur[0] * 0.47, ty: ur[1] * 0.47, tz: 0.105, az: Math.atan2(dir[0] / n, dir[2] / n) / D2R, el: Math.asin(dir[1] / n) / D2R, d: 0.95, fov: 34, sx: 0, sy: 0}; + }, +}; +const VIEWS = SCRIPT.filter((e) => e.cam).map((e) => [e.t, e.cam]); +export function blend(a, b, k) { + const o = {}; + for (const key in b) o[key] = key === 'az' ? a.az + wrap180(b.az - a.az) * k : key === 'd' ? Math.exp(Math.log(a.d) + (Math.log(b.d) - Math.log(a.d)) * k) : (a[key] ?? b[key]) + (b[key] - (a[key] ?? b[key])) * k; + return o; +} +export const camAt = (t) => { + let i = 0; + while (i < VIEWS.length - 1 && VIEWS[i + 1][0] <= t) i++; + const view = (k) => VIEW_FN[VIEWS[k][1]](t - VIEWS[k][0]); + const cur = view(i); + if (i === 0) return cur; + const k = ss(VIEWS[i][0], VIEWS[i][0] + 1.6, t); + if (k >= 1) return cur; + return blend(view(i - 1), cur, k); +}; + +// ------------------------------------------------------------ what each view shows: subsystem opacity, cut, rows +const ALL = {case: 1, crank: 1, cyl: 1, valve: 1, ign: 1, air: 1, prop: 1, nose: 1, oil: 1, stand: 1, cowl: 0, baffle: 1}; +export const LOOK = { + hero: {vis: ALL}, + face: {vis: {...ALL, prop: 0.3}}, + faceFull: {vis: ALL}, + heroEnd: {vis: ALL}, + takeoff: {vis: ALL}, + rowcut: {vis: {...ALL, prop: 0, ign: 0, air: 0, valve: 0, baffle: 0, oil: 0, cowl: 0}, cut: 'rowcut', hideRear: 1}, + apart: {vis: {...ALL, case: 0, prop: 0, nose: 0, ign: 0, air: 0, valve: 0, baffle: 0, oil: 0, stand: 0, cyl: 0}, apart: 1}, + cam: {vis: {...ALL, case: 0.12, cyl: 0.3, crank: 0, prop: 0, nose: 0, ign: 0, air: 0, baffle: 0, oil: 0, stand: 0}, hideRear: 1, focusK: 1}, +}; +const lookAt = (name) => LOOK[name] || LOOK.hero; +/** the looks of two views, blended: opacities, the apart offset, the hidden rear row */ +export function blendLook(a, b, k) { + const vis = {}; + for (const g of Object.keys(ALL)) vis[g] = (a.vis[g] ?? 1) + ((b.vis[g] ?? 1) - (a.vis[g] ?? 1)) * k; + return {vis, apart: (a.apart || 0) + ((b.apart || 0) - (a.apart || 0)) * k, hideRear: (a.hideRear || 0) + ((b.hideRear || 0) - (a.hideRear || 0)) * k, cut: k < 0.5 ? a.cut : b.cut, focusK: (a.focusK || 0) + ((b.focusK || 0) - (a.focusK || 0)) * k, focus: a.focusK || b.focusK ? CAM_CYL : 0}; +} +export const lookAtT = (t) => { + let i = 0; + while (i < VIEWS.length - 1 && VIEWS[i + 1][0] <= t) i++; + const cur = lookAt(VIEWS[i][1]); + if (i === 0) return blendLook(cur, cur, 1); + const prev = lookAt(VIEWS[i - 1][1]); + return blendLook(prev, cur, ss(VIEWS[i][0] + 0.1, VIEWS[i][0] + 1.1, t)); +}; + +// ------------------------------------------------------------ the operator's pointer: a click on the button of each beat +const REST = [[860, 520], [720, 430], [900, 560], [760, 380]]; +const SPOT_OF = {face: 'face', faceFull: 'face', rowcut: 'section', apart: 'crank', cam: 'valve', takeoff: 'throttle', heroEnd: 'throttleBack'}; +export function makeCursor(ui, script = SCRIPT) { + const EV = script.filter((e) => e.t > 0).map((e) => ({t: e.t, spot: ui.spots[e.press || SPOT_OF[e.cam]] || ui.spots.hero})); + 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}; + }; +} + +// ------------------------------------------------------------ sparks to light: from the last spark of each cylinder +/** + * glow of each chamber, 0..1: lit sparks only, fading over ~0.35 s of screen time and ~100° of crank. When the + * firings come faster than the eye (more than ~12 a second on screen) the lights merge into a steady low glow. + * spark(c) → {t (screen s), th (crank °), lit}; now: screen time; th: crank; fireHzScreen: firings per screen second + */ +export function glowOf(spark, now, th, fireHzScreen) { + const merge = ss(12, 60, fireHzScreen); + return CYL.map((cy) => { + const s = spark(cy.c); + if (!s || !s.lit) return 0.22 * merge; + const age = now - s.t; + const dth = th - s.th; + const g = Math.exp(-Math.max(0, age) / 0.35) * (dth < 110 ? 1 : Math.exp(-(dth - 110) / 50)); + return g * (1 - merge) + 0.22 * merge; + }); +} +/** the propeller's blur: how far a blade turns between two frames */ +export const blurOf = (propRpm, rate, fps = 60) => ss(5, 28, (propRpm * 6 * rate) / fps); +export const phaseOf = (tau) => { + const R = RUN; + if (tau < R.starter) return 'stopped'; + if (tau < R.ign) return 'starter'; + if (tau < R.disengage + 0.6) return 'ignition'; + if (tau < R.climb) return 'idle'; + if (tau < R.climb + R.climbLen + 0.3) return 'climb'; + if (tau < R.back) return 'takeoff'; + if (tau < R.back + R.backLen) return 'back'; + return 'idle'; +}; + +// ------------------------------------------------------------ callouts per view, label spots on the 1600 x 900 layout +export function calloutsFor(view, st, vis) { + const P3 = (v) => st.project(v); + const A = st.eng.A; + const out = []; + const c = (key, at, label, w, o = 1) => { + const [name, sub] = tr(key); + out.push({name, sub, at: P3(at), label, w, o: vis * o}); + }; + if (view === 'hero' || view === 'heroEnd') { + c('cProp', A.blade(), [372, 168], 120); + c('cMagneto', A.magneto(), [372, 300], 140); + c('cHarness', A.harness(), [372, 420], 120); + c('cHead', A.head(), [1232, 150], -130); + c('cFins', A.fins(), [1232, 268], -120); + c('cPushrod', A.pushrod(), [1232, 390], -140); + c('cPipe', A.pipe(), [1232, 520], -110); + } else if (view === 'face' || view === 'faceFull') { + c('cStarFront', A.cylAt(2, 560), [372, 200], 160); + c('cStarRear', A.cylAt(5, 560), [372, 610], 160); + c('cNose', A.nose(), [1232, 200], -140); + } else if (view === 'rowcut') { + c('cMaster', A.master('front'), [372, 200], 150); + c('cArt', A.art('front', 12), [1232, 230], -150); + c('cKnuckle', A.pin('front'), [372, 610], 170); + c('cPiston', A.piston(2), [1232, 560], -150); + } else if (view === 'apart') { + c('cPinRear', A.pin('rear'), [372, 220], 150); + c('cPinFront', A.pin('front'), [372, 600], 150); + c('cRows', A.piston(1), [1232, 220], -140); + } else if (view === 'cam') { + c('cCam', A.camRing('front'), [372, 610], 160); + c('cTappet', A.tappet(CAM_CYL, 'in'), [372, 320], 160); + c('cRocker', A.rocker(CAM_CYL, 'in'), [1232, 200], -150); + c('cValve', A.valve(CAM_CYL, 'in'), [1232, 470], -150); + } else if (view === 'takeoff') { + c('cSuper', A.impeller(), [1232, 640], -140); + c('cCarb', A.carb(), [1232, 190], -150); + c('cGear', A.nose(), [372, 190], 130); + c('cStarter', A.starter(), [1232, 470], -130); + } + return out; +} +export const CTX_OF = {hero: 'run', heroEnd: 'run', face: 'ign', faceFull: 'takeoff', rowcut: 'law', apart: 'throws', cam: 'cam', takeoff: 'takeoff'}; +export const BTN_OF = {hero: 'hero', heroEnd: 'hero', face: 'face', faceFull: 'face', rowcut: 'face', apart: 'hero', cam: 'hero', takeoff: 'profile'}; +export const SUB_OF = {rowcut: 'crank', apart: 'crank', cam: 'valve', face: 'ign'}; + +/** one frame of everything from the crank angle and the run's state. Shared by the film and the live tour. */ +export function engineFrame({th, N, run, rate, spark, now}) { + const s = stateAt(N, run); + const fireScreen = s.fireHz * rate; + const lit = glowOf(spark, now, th, fireScreen); + return {s, lit, blur: blurOf(s.propRpm, rate)}; +} + +// ------------------------------------------------------------ the film +export function makeFilm() { + return async ({canvas, capture}) => { + await loadFonts(); + 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'; + window.R2800 = {st}; + return { + resize, + render(t) { + const th = thetaAt(t); + const tau = tauAt(t); + const N = rpmAt(t); + const run = runAtTau(tau); + const rate = rateAt(t); + const {s, lit, blur} = engineFrame({th, N, run, rate, spark: (c) => lastSpark(c, t), now: t}); + const view = camAtName(t); + const since = camSince(t); + const look = lookAtT(t); + st.setCut(look.cut ? 'section' : 'solid', look.cut || 'profile'); + const camHi = look.focusK > 0.5 ? CYL.map((cy) => (cy.c === CAM_CYL ? {in: lift(cy.c, 'in', th), ex: lift(cy.c, 'ex', th)} : {in: 0, ex: 0})) : null; + const fx = {th, vis: look.vis, apart: look.apart, hideRear: look.hideRear, focus: look.focus, focusK: look.focusK, glow: lit, headGlow: lit.map((g) => g * 0.85 * (1 - look.focusK)), blur, camHi, air: airAt(t), airK: 0, oil: th / 1440, oilK: 0}; + const c = camAt(t); + st.frame(fx, {...c, az: c.az * D2R, el: c.el * D2R}); + const phase = phaseOf(tau); + ui.update({ + ...s, + th, + lit, + rate, + phase, + starter: starterAtTau(tau) > 0, + ignition: tau >= RUN.ign, + thrRpm: N, + ctx: CTX_OF[view] || 'run', + ctxArg: view === 'cam' ? 0 + CAM_CYL : view === 'rowcut' ? 'front' : undefined, + sub: SUB_OF[view] || '', + cut: look.cut ? 'section' : 'solid', + camBtn: BTN_OF[view], + layers: {cowl: false, callouts: true}, + caption: tr('cap:' + (view === 'hero' && phase !== 'stopped' ? phase : view)), + callouts: calloutsFor(view, st, ss(1.2, 2.0, since) * (view === 'hero' && t > 1.5 ? 1 - ss(1.5, 2.0, t) : 1)), + cursor: cursorAt(t), + }); + return {}; + }, + }; + }; +} +void E; +export const run = () => runSim(DEFAULTS, makeFilm()); diff --git a/machines/radial/r2800-shared/fonts.js b/machines/radial/r2800-shared/fonts.js new file mode 100644 index 0000000..a533605 --- /dev/null +++ b/machines/radial/r2800-shared/fonts.js @@ -0,0 +1,24 @@ +// Radial's own type, inlined (latin subsets, SIL Open Font License): Barlow Condensed, a condensed grotesque in the +// spirit of the period's technical manuals, and Saira Stencil One for the title, the stencil of a crate or a cowling. +// Both builds (the skill's and the site's) load .woff2 as base64. +import b500 from '@fontsource/barlow-condensed/files/barlow-condensed-latin-500-normal.woff2'; +import b700 from '@fontsource/barlow-condensed/files/barlow-condensed-latin-700-normal.woff2'; +import stencil from '@fontsource/saira-stencil-one/files/saira-stencil-one-latin-400-normal.woff2'; + +export const FONT = {cond: "'Barlow Condensed', 'Arial Narrow', sans-serif", stencil: "'Saira Stencil One', 'Barlow Condensed', sans-serif"}; + +let ready = null; +/** registers the faces and resolves when they are usable (the first frame waits on it) */ +export function loadFonts() { + if (ready) return ready; + const face = (family, b64, weight) => { + const bin = atob(b64); + const buf = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; i++) buf[i] = bin.charCodeAt(i); + const f = new FontFace(family, buf, {weight: String(weight), display: 'block'}); + document.fonts.add(f); + return f.load(); + }; + ready = Promise.all([face('Barlow Condensed', b500, 500), face('Barlow Condensed', b700, 700), face('Saira Stencil One', stencil, 400)]).catch(() => {}); + return ready; +} diff --git a/machines/radial/r2800-shared/i18n.js b/machines/radial/r2800-shared/i18n.js new file mode 100644 index 0000000..3ef65c1 --- /dev/null +++ b/machines/radial/r2800-shared/i18n.js @@ -0,0 +1,220 @@ +// 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 S = { + // ------------------------------------------------------------ title + subtitle: {en: 'PRATT & WHITNEY R-2800 DOUBLE WASP', fr: 'PRATT & WHITNEY R-2800 DOUBLE WASP', es: 'PRATT & WHITNEY R-2800 DOUBLE WASP'}, + model: { + en: '18 cylinders, two rows · a C-series CB16 after public sources · not affiliated with P&W', + fr: '18 cylindres, deux rangées · un CB16 de série C d’après les sources publiques · sans lien avec P&W', + es: '18 cilindros, dos filas · un CB16 de la serie C según fuentes públicas · sin relación con P&W', + }, + fig: {en: (n) => `FIG. ${n}`, fr: (n) => `FIG. ${n}`, es: (n) => `FIG. ${n}`}, + // ------------------------------------------------------------ instruments + figInstr: {en: 'Instruments', fr: 'Instruments', es: 'Instrumentos'}, + dRpm: {en: 'RPM', fr: 'TR/MIN', es: 'RPM'}, + dRpmU: {en: '× 100', fr: '× 100', es: '× 100'}, + dMap: {en: 'MANIFOLD', fr: 'ADMISSION', es: 'ADMISIÓN'}, + dHp: {en: 'POWER', fr: 'PUISSANCE', es: 'POTENCIA'}, + rTorque: {en: 'Crank torque', fr: 'Couple au vilebrequin', es: 'Par en el cigüeñal'}, + rPiston: {en: 'Mean piston speed', fr: 'Vitesse moyenne de piston', es: 'Velocidad media del pistón'}, + rFire: {en: 'Firings', fr: 'Allumages', es: 'Encendidos'}, + rFireV: {en: (h) => `${h} per second`, fr: (h) => `${h} par seconde`, es: (h) => `${h} por segundo`}, + rProp: {en: 'Propeller · impeller rpm', fr: 'Hélice · rouet, tr/min', es: 'Hélice · rodete, rpm'}, + // ------------------------------------------------------------ data plate + figData: {en: 'Engine data', fr: 'Caractéristiques', es: 'Datos del motor'}, + pBore: {en: 'Bore × stroke', fr: 'Alésage × course', es: 'Diámetro × carrera'}, + pDispl: {en: 'Displacement', fr: 'Cylindrée', es: 'Cilindrada'}, + pCr: {en: 'Compression', fr: 'Compression', es: 'Compresión'}, + pTo: {en: 'Take-off, dry', fr: 'Décollage, sec', es: 'Despegue, seco'}, + pWet: {en: 'Take-off, wet', fr: 'Décollage, injection', es: 'Despegue, inyección'}, + pRed: {en: 'Propeller gear', fr: 'Réducteur', es: 'Reductora'}, + pSc: {en: 'Supercharger', fr: 'Compresseur', es: 'Compresor'}, + pScV: {en: (a, b) => `1 stage, ${a} / ${b} : 1`, fr: (a, b) => `1 étage, ${a} / ${b} : 1`, es: (a, b) => `1 etapa, ${a} / ${b} : 1`}, + pMass: {en: 'Dry weight', fr: 'Masse à sec', es: 'Peso en seco'}, + pCam: {en: 'Valves', fr: 'Distribution', es: 'Distribución'}, + pCamV: {en: '2 cam rings, 4 lobes', fr: '2 anneaux à cames, 4 lobes', es: '2 anillos de levas, 4 lóbulos'}, + pIgn: {en: 'Ignition', fr: 'Allumage', es: 'Encendido'}, + pIgnV: {en: '2 magnetos, 36 plugs', fr: '2 magnétos, 36 bougies', es: '2 magnetos, 36 bujías'}, + // ------------------------------------------------------------ the run + figRun: {en: 'The run', fr: 'La marche', es: 'La marcha'}, + 'ph:stopped': {en: 'STOPPED', fr: 'À L’ARRÊT', es: 'PARADO'}, + 'ph:starter': {en: 'STARTER', fr: 'DÉMARREUR', es: 'ARRANQUE'}, + 'ph:ignition': {en: 'IGNITION', fr: 'ALLUMAGE', es: 'ENCENDIDO'}, + 'ph:idle': {en: 'IDLE', fr: 'RALENTI', es: 'RALENTÍ'}, + 'ph:climb': {en: 'THROTTLE OPEN', fr: 'PLEIN GAZ', es: 'GASES A FONDO'}, + 'ph:takeoff': {en: 'TAKE-OFF RPM', fr: 'RÉGIME DÉCOLLAGE', es: 'RÉGIMEN DE DESPEGUE'}, + 'ph:back': {en: 'THROTTLE BACK', fr: 'RÉDUCTION', es: 'REDUCCIÓN'}, + slow: {en: (ms, x) => `1 s on screen = ${ms} ms · slowed ×${x}`, fr: (ms, x) => `1 s à l’écran = ${ms} ms · ralenti ×${x}`, es: (ms, x) => `1 s en pantalla = ${ms} ms · ralentizado ×${x}`}, + realtime: {en: 'Real time', fr: 'Temps réel', es: 'Tiempo real'}, + bStarter: {en: 'Starter', fr: 'Démarreur', es: 'Arranque'}, + bIgnition: {en: 'Magnetos', fr: 'Magnétos', es: 'Magnetos'}, + pause: {en: 'Pause', fr: 'Pause', es: 'Pausa'}, + bSlow: {en: 'Slow-mo', fr: 'Ralenti', es: 'Lento'}, + throttle: {en: 'THROTTLE · TARGET RPM', fr: 'MANETTE · RÉGIME VISÉ', es: 'ACELERADOR · RÉGIMEN'}, + rpmShort: {en: 'rpm', fr: 'tr/min', es: 'rpm'}, + // ------------------------------------------------------------ the star + figStar: {en: 'Firing order', fr: 'Ordre d’allumage', es: 'Orden de encendido'}, + starSub: {en: 'SEEN FROM THE FRONT · 1 AT THE TOP OF THE REAR ROW', fr: 'VU DE FACE · 1 EN HAUT DE LA RANGÉE ARRIÈRE', es: 'VISTO DE FRENTE · 1 ARRIBA EN LA FILA TRASERA'}, + starKey: {en: 'INSIDE: REAR ROW (ODD) · OUTSIDE: FRONT ROW (EVEN)', fr: 'DEDANS : ARRIÈRE (IMPAIRS) · DEHORS : AVANT (PAIRS)', es: 'DENTRO: TRASERA (IMPARES) · FUERA: DELANTERA (PARES)'}, + starFoot: {en: (h) => `+11, −7 · every 40° · 18 in 2 turns · ${h} /s`, fr: (h) => `+11, −7 · tous les 40° · 18 en 2 tours · ${h} /s`, es: (h) => `+11, −7 · cada 40° · 18 en 2 vueltas · ${h} /s`}, + // ------------------------------------------------------------ the context figure + 'ctx:run': {en: 'The engine', fr: 'Le moteur', es: 'El motor'}, + 'ctxTxt:run': { + en: 'Two rows of nine cylinders, 20° apart, on one two-throw crankshaft. Each row drives its crankpin through one master rod and eight articulated rods.', + fr: 'Deux rangées de neuf cylindres décalées de 20°, sur un vilebrequin à deux manetons. Chaque rangée attaque son maneton par une bielle maîtresse et huit biellettes.', + es: 'Dos filas de nueve cilindros desfasadas 20°, sobre un cigüeñal de dos codos. Cada fila mueve su muñequilla con una biela maestra y ocho bielas articuladas.', + }, + 'ctx:ign': {en: 'Ignition', fr: 'Allumage', es: 'Encendido'}, + ignTxt: { + en: 'Two magnetos, each firing one of the two plugs in every cylinder: 36 plugs. The spark comes 25° before top centre (est.); the distributors turn at half crank speed.', + fr: 'Deux magnétos, chacune allume une des deux bougies de chaque cylindre : 36 bougies. L’étincelle jaillit 25° avant le point mort haut (estim.) ; les distributeurs tournent à mi-régime.', + es: 'Dos magnetos, cada uno enciende una de las dos bujías de cada cilindro: 36 bujías. La chispa salta 25° antes del punto muerto superior (est.); los distribuidores giran a media velocidad.', + }, + 'ctx:law': {en: 'Master and articulated', fr: 'Maîtresse et biellette', es: 'Maestra y articulada'}, + lawX: {en: 'CRANK °', fr: 'VILEBREQUIN °', es: 'CIGÜEÑAL °'}, + lawY: {en: 'DIFFERENCE, MM', fr: 'ÉCART, MM', es: 'DIFERENCIA, MM'}, + lawTxt: { + en: (m, a, sm, sa, lag, dz, cm, ca, late) => `Stroke ${sm} mm (master, ${m}) vs ${sa} mm (${a}). Its top centre comes ${lag}° ${late ? 'late' : 'early'} and ${dz} mm lower: compression ${cm} vs ${ca}.`, + fr: (m, a, sm, sa, lag, dz, cm, ca, late) => `Course ${sm} mm (maîtresse, ${m}) contre ${sa} mm (${a}). Son PMH arrive ${lag}° ${late ? 'plus tard' : 'plus tôt'} et ${dz} mm plus bas : compression ${cm} contre ${ca}.`, + es: (m, a, sm, sa, lag, dz, cm, ca, late) => `Carrera ${sm} mm (maestra, ${m}) frente a ${sa} mm (${a}). Su PMS llega ${lag}° ${late ? 'más tarde' : 'antes'} y ${dz} mm más abajo: compresión ${cm} frente a ${ca}.`, + }, + 'ctx:throws': {en: 'Two throws at 180°', fr: 'Deux manetons à 180°', es: 'Dos codos a 180°'}, + throwKey: {en: 'SEEN FROM THE FRONT', fr: 'VU DE FACE', es: 'VISTO DE FRENTE'}, + throwA: {en: 'REAR ROW PIN', fr: 'MANETON ARRIÈRE', es: 'MUÑEQUILLA TRASERA'}, + throwA2: {en: 'cylinders 1, 3, 5 … 17', fr: 'cylindres 1, 3, 5 … 17', es: 'cilindros 1, 3, 5 … 17'}, + throwB: {en: 'FRONT ROW PIN', fr: 'MANETON AVANT', es: 'MUÑEQUILLA DELANTERA'}, + throwB2: {en: 'cylinders 2, 4, 6 … 18', fr: 'cylindres 2, 4, 6 … 18', es: 'cilindros 2, 4, 6 … 18'}, + throwTxt: { + en: 'The rows are turned 20° and their pins 180°: the firings alternate row to row, 40° apart, so no row fires twice in a row.', + fr: 'Les rangées sont décalées de 20° et leurs manetons de 180° : les allumages alternent d’une rangée à l’autre, tous les 40°.', + es: 'Las filas están desfasadas 20° y sus muñequillas 180°: los encendidos alternan de fila en fila, cada 40°.', + }, + 'ctx:cam': {en: 'Cam ring', fr: 'Anneau à cames', es: 'Anillo de levas'}, + camX: {en: 'CRANK ° AFTER FIRING', fr: 'VILEBREQUIN ° APRÈS ALLUMAGE', es: 'CIGÜEÑAL ° TRAS ENCENDIDO'}, + camY: {en: 'LIFT', fr: 'LEVÉE', es: 'ALZADA'}, + 'st:power': {en: 'POWER', fr: 'DÉTENTE', es: 'EXPANSIÓN'}, + 'st:exhaust': {en: 'EXHAUST', fr: 'ÉCHAPPEMENT', es: 'ESCAPE'}, + 'st:intake': {en: 'INTAKE', fr: 'ADMISSION', es: 'ADMISIÓN'}, + 'st:compression': {en: 'COMPRESSION', fr: 'COMPRESSION', es: 'COMPRESIÓN'}, + camTxt: { + en: (c, n, L, li, le) => `Cylinder ${c}. ${n} lobes per track, the ring at ⅛ crank speed, against it. Inlet ${li} mm, exhaust ${le} mm of ${L} (est.).`, + fr: (c, n, L, li, le) => `Cylindre ${c}. ${n} lobes par piste, l’anneau à ⅛ du régime, en sens inverse. Admission ${li} mm, échappement ${le} mm sur ${L} (estim.).`, + es: (c, n, L, li, le) => `Cilindro ${c}. ${n} lóbulos por pista, el anillo a ⅛ de la velocidad, en sentido contrario. Admisión ${li} mm, escape ${le} mm de ${L} (est.).`, + }, + 'ctx:takeoff': {en: 'Power and torque', fr: 'Puissance et couple', es: 'Potencia y par'}, + toX: {en: 'RPM', fr: 'TR/MIN', es: 'RPM'}, + toY: {en: 'HP · TORQUE (DASHED)', fr: 'CH · COUPLE (TIRETS)', es: 'CV · PAR (TRAZOS)'}, + toTxt: { + en: (hp, n, map, tq) => `${hp} hp at ${n} rpm and ${map} inHg, ${tq} N·m. The FAA rates the CB16 at 2,050 hp, 2,700 rpm, 55.0″ (circle).`, + fr: (hp, n, map, tq) => `${hp} ch à ${n} tr/min et ${map} inHg, ${tq} N·m. La FAA donne au CB16 2 050 ch, 2 700 tr/min, 55,0″ (cercle).`, + es: (hp, n, map, tq) => `${hp} CV a ${n} rpm y ${map} inHg, ${tq} N·m. La FAA certifica el CB16 a 2050 CV, 2700 rpm, 55,0″ (círculo).`, + }, + 'ctx:cyl': {en: 'Cylinders and fins', fr: 'Cylindres et ailettes', es: 'Cilindros y aletas'}, + 'ctxTxt:cyl': { + en: 'Steel barrels under finned aluminium muffs, forged aluminium heads with fins cut from the solid. Black baffles force the air through the fins.', + fr: 'Fûts en acier sous des manchons d’aluminium à ailettes, culasses en aluminium forgé aux ailettes taillées dans la masse. Les déflecteurs noirs forcent l’air entre les ailettes.', + es: 'Camisas de acero bajo manguitos de aluminio con aletas, culatas de aluminio forjado con aletas talladas en la masa. Los deflectores negros obligan al aire a pasar por las aletas.', + }, + 'ctx:air': {en: 'Supercharger', fr: 'Compresseur', es: 'Compresor'}, + 'ctxTxt:air': { + en: 'The carburettor feeds the impeller’s eye; the impeller (7.29 × crank speed) throws the charge into the diffuser and out through 18 pipes, one per cylinder.', + fr: 'Le carburateur alimente l’ouïe du rouet ; le rouet (7,29 × le régime) projette le mélange dans le diffuseur puis dans 18 pipes, une par cylindre.', + es: 'El carburador alimenta el ojo del rodete; el rodete (7,29 × el régimen) lanza la mezcla al difusor y a 18 tubos, uno por cilindro.', + }, + 'ctx:prop': {en: 'Reduction gear', fr: 'Réducteur', es: 'Reductora'}, + 'ctxTxt:prop': { + en: 'A planetary gear in the nose: the sun on the crankshaft, the ring fixed, the carrier on the propeller shaft. 0.45 turn of the propeller per turn of the crank.', + fr: 'Un train planétaire dans le nez : le planétaire sur le vilebrequin, la couronne fixe, le porte-satellites sur l’arbre d’hélice. 0,45 tour d’hélice par tour de vilebrequin.', + es: 'Un tren planetario en el morro: el planeta en el cigüeñal, la corona fija, el portasatélites en el eje de la hélice. 0,45 vueltas de hélice por vuelta de cigüeñal.', + }, + 'ctx:oil': {en: 'Lubrication', fr: 'Lubrification', es: 'Lubricación'}, + 'ctxTxt:oil': { + en: 'Dry sump: the pressure pump at the rear feeds the crankshaft through its journals and drillings to the crankpins and knuckle pins; scavenge pumps return the oil to the tank.', + fr: 'Carter sec : la pompe de pression, à l’arrière, alimente le vilebrequin par ses tourillons et ses perçages jusqu’aux manetons et aux axes de biellettes ; les pompes de récupération renvoient l’huile au réservoir.', + es: 'Cárter seco: la bomba de presión, atrás, alimenta el cigüeñal por sus apoyos y taladros hasta las muñequillas y los bulones; las bombas de recuperación devuelven el aceite al depósito.', + }, + // ------------------------------------------------------------ buttons + grpSub: {en: 'SUBSYSTEMS', fr: 'SOUS-ENSEMBLES', es: 'SUBSISTEMAS'}, + grpCut: {en: 'CUTAWAY', fr: 'COUPE', es: 'CORTE'}, + grpView: {en: 'VIEW', fr: 'VUE', es: 'VISTA'}, + grpLayer: {en: 'LAYERS', fr: 'CALQUES', es: 'CAPAS'}, + 'sub:crank': {en: 'Rods & crank', fr: 'Embiellage', es: 'Bielas y cigüeñal'}, + 'sub:cyl': {en: 'Cylinders & fins', fr: 'Cylindres & ailettes', es: 'Cilindros y aletas'}, + 'sub:valve': {en: 'Cam rings', fr: 'Distribution', es: 'Distribución'}, + 'sub:ign': {en: 'Ignition', fr: 'Allumage', es: 'Encendido'}, + 'sub:air': {en: 'Supercharger', fr: 'Compresseur', es: 'Compresor'}, + 'sub:prop': {en: 'Gear & propeller', fr: 'Réducteur & hélice', es: 'Reductora y hélice'}, + 'sub:oil': {en: 'Lubrication', fr: 'Lubrification', es: 'Lubricación'}, + 'cut:glass': {en: 'Glass', fr: 'Verre', es: 'Cristal'}, + 'cut:section': {en: 'Section', fr: 'Section', es: 'Sección'}, + 'cut:solid': {en: 'Solid', fr: 'Pleine', es: 'Sólido'}, + 'cam:face': {en: 'Face', fr: 'Face', es: 'Frente'}, + 'cam:hero': {en: '¾ front', fr: '¾ avant', es: '¾ frontal'}, + 'cam:profile': {en: 'Profile', fr: 'Profil', es: 'Perfil'}, + 'cam:inside': {en: 'Inside', fr: 'Intérieur', es: 'Interior'}, + 'lay:cowl': {en: 'Cowling', fr: 'Capot', es: 'Capó'}, + 'lay:callouts': {en: 'Labels', fr: 'Légendes', es: 'Rótulos'}, + // ------------------------------------------------------------ captions + 'cap:hero': {en: 'On its run-up stand, propeller stopped', fr: 'Sur son banc d’essai, hélice arrêtée', es: 'En su banco de pruebas, hélice parada'}, + 'cap:stopped': {en: 'On its run-up stand, propeller stopped', fr: 'Sur son banc d’essai, hélice arrêtée', es: 'En su banco de pruebas, hélice parada'}, + 'cap:starter': {en: 'The starter turns the crank, no spark yet', fr: 'Le démarreur entraîne le vilebrequin, pas encore d’étincelle', es: 'El arranque gira el cigüeñal, aún sin chispa'}, + 'cap:ignition': {en: 'Magnetos on: the first firings miss, then catch', fr: 'Magnétos en marche : les premiers allumages ratent, puis prennent', es: 'Magnetos activos: los primeros encendidos fallan y luego prenden'}, + 'cap:idle': {en: 'Running on its own', fr: 'Il tourne seul', es: 'Gira solo'}, + 'cap:face': {en: 'Idle, from the front: the firing order goes round the star', fr: 'Ralenti, de face : l’ordre d’allumage parcourt l’étoile', es: 'Ralentí, de frente: el orden de encendido recorre la estrella'}, + 'cap:rowcut': {en: 'One row in section: a master rod and eight articulated rods', fr: 'Une rangée en coupe : une bielle maîtresse et huit biellettes', es: 'Una fila en sección: una biela maestra y ocho articuladas'}, + 'cap:apart': {en: 'The rows pulled apart: turned 20°, pins at 180°', fr: 'Les rangées écartées : décalées de 20°, manetons à 180°', es: 'Las filas separadas: desfasadas 20°, muñequillas a 180°'}, + 'cap:cam': {en: 'A cam ring lifts a valve, no camshaft', fr: 'Un anneau à cames lève une soupape, sans arbre à cames', es: 'Un anillo de levas abre una válvula, sin árbol de levas'}, + 'cap:takeoff': {en: 'Throttle open: to 2,700 rpm in real time', fr: 'Plein gaz : jusqu’à 2 700 tr/min en temps réel', es: 'Gases a fondo: hasta 2700 rpm en tiempo real'}, + 'cap:faceFull': {en: 'Take-off rpm: 2,050 hp, 405 firings a second', fr: 'Régime décollage : 2 050 ch, 405 allumages par seconde', es: 'Régimen de despegue: 2050 CV, 405 encendidos por segundo'}, + 'cap:heroEnd': {en: 'Throttle back to idle', fr: 'Retour au ralenti', es: 'Vuelta al ralentí'}, + 'cap:live': {en: '', fr: '', es: ''}, + // ------------------------------------------------------------ callouts [name, sub] + cProp: {en: ['Propeller', '3 BLADES · 0.45 × CRANK SPEED'], fr: ['Hélice', '3 PALES · 0,45 × LE RÉGIME'], es: ['Hélice', '3 PALAS · 0,45 × EL RÉGIMEN']}, + cMagneto: {en: ['Magneto', '2 ON THE NOSE · ONE PLUG EACH'], fr: ['Magnéto', '2 SUR LE NEZ · UNE BOUGIE CHACUNE'], es: ['Magneto', '2 EN EL MORRO · UNA BUJÍA CADA UNO']}, + cHarness: {en: ['Ignition harness', 'BRAIDED · 36 LEADS'], fr: ['Faisceau d’allumage', 'TRESSÉ · 36 FILS'], es: ['Arnés de encendido', 'TRENZADO · 36 CABLES']}, + cHead: {en: ['Cylinder head', 'FORGED ALUMINIUM · 2 VALVES'], fr: ['Culasse', 'ALUMINIUM FORGÉ · 2 SOUPAPES'], es: ['Culata', 'ALUMINIO FORJADO · 2 VÁLVULAS']}, + cFins: {en: ['Barrel fins', 'ALUMINIUM MUFF ON STEEL'], fr: ['Ailettes du fût', 'MANCHON ALU SUR ACIER'], es: ['Aletas de la camisa', 'MANGUITO DE ALUMINIO SOBRE ACERO']}, + cPushrod: {en: ['Pushrod tubes', 'FROM THE CAM RING'], fr: ['Tubes de culbuteurs', 'DEPUIS L’ANNEAU À CAMES'], es: ['Tubos de varillas', 'DESDE EL ANILLO DE LEVAS']}, + cPipe: {en: ['Intake pipe', '18 FROM THE SUPERCHARGER'], fr: ['Pipe d’admission', '18 DEPUIS LE COMPRESSEUR'], es: ['Tubo de admisión', '18 DESDE EL COMPRESOR']}, + cStarFront: {en: ['Front row', 'EVEN NUMBERS · 9 CYLINDERS'], fr: ['Rangée avant', 'NUMÉROS PAIRS · 9 CYLINDRES'], es: ['Fila delantera', 'NÚMEROS PARES · 9 CILINDROS']}, + cStarRear: {en: ['Rear row', 'ODD NUMBERS · TURNED 20°'], fr: ['Rangée arrière', 'NUMÉROS IMPAIRS · DÉCALÉE DE 20°'], es: ['Fila trasera', 'NÚMEROS IMPARES · DESFASADA 20°']}, + cNose: {en: ['Nose case', 'REDUCTION GEAR INSIDE'], fr: ['Carter de nez', 'LE RÉDUCTEUR DEDANS'], es: ['Cárter del morro', 'LA REDUCTORA DENTRO']}, + cMaster: {en: ['Master rod', 'ONE PIECE · ON THE CRANKPIN'], fr: ['Bielle maîtresse', 'MONOBLOC · SUR LE MANETON'], es: ['Biela maestra', 'DE UNA PIEZA · EN LA MUÑEQUILLA']}, + cArt: {en: ['Articulated rod', '8 PER ROW · ON KNUCKLE PINS'], fr: ['Biellette', '8 PAR RANGÉE · SUR AXES'], es: ['Biela articulada', '8 POR FILA · EN BULONES']}, + cKnuckle: {en: ['Crankpin', 'r = 76.2 MM · HALF THE STROKE'], fr: ['Maneton', 'r = 76,2 MM · LA DEMI-COURSE'], es: ['Muñequilla', 'r = 76,2 MM · MEDIA CARRERA']}, + cPiston: {en: ['Piston', 'BORE 146 MM'], fr: ['Piston', 'ALÉSAGE 146 MM'], es: ['Pistón', 'DIÁMETRO 146 MM']}, + cPinRear: {en: ['Rear crankpin', 'ROW 1, 3, 5 …'], fr: ['Maneton arrière', 'RANGÉE 1, 3, 5 …'], es: ['Muñequilla trasera', 'FILA 1, 3, 5 …']}, + cPinFront: {en: ['Front crankpin', '180° AWAY'], fr: ['Maneton avant', 'À 180°'], es: ['Muñequilla delantera', 'A 180°']}, + cRows: {en: ['Two rows of nine', 'THE CRANK IS SPLIT AT THE PINS'], fr: ['Deux rangées de neuf', 'VILEBREQUIN EN PIÈCES AUX MANETONS'], es: ['Dos filas de nueve', 'CIGÜEÑAL PARTIDO EN LAS MUÑEQUILLAS']}, + cCam: {en: ['Cam ring', '4 LOBES · ⅛ CRANK SPEED, REVERSED'], fr: ['Anneau à cames', '4 LOBES · ⅛ DU RÉGIME, INVERSE'], es: ['Anillo de levas', '4 LÓBULOS · ⅛ DEL RÉGIMEN, INVERSO']}, + cTappet: {en: ['Tappet', 'RIDES THE LOBE'], fr: ['Poussoir', 'SUIT LE LOBE'], es: ['Taqué', 'SIGUE EL LÓBULO']}, + cRocker: {en: ['Rocker', 'IN ITS BOX ON THE HEAD'], fr: ['Culbuteur', 'DANS SA BOÎTE SUR LA CULASSE'], es: ['Balancín', 'EN SU CAJA SOBRE LA CULATA']}, + cValve: {en: ['Inlet valve', 'OPENS 20° BEFORE TOP CENTRE'], fr: ['Soupape d’admission', 'OUVRE 20° AVANT LE PMH'], es: ['Válvula de admisión', 'ABRE 20° ANTES DEL PMS']}, + cSuper: {en: ['Supercharger', '1 STAGE · 7.29 × CRANK'], fr: ['Compresseur', '1 ÉTAGE · 7,29 × LE RÉGIME'], es: ['Compresor', '1 ETAPA · 7,29 × EL RÉGIMEN']}, + cCarb: {en: ['Carburettor', 'PRESSURE TYPE'], fr: ['Carburateur', 'À INJECTION'], es: ['Carburador', 'DE PRESIÓN']}, + cGear: {en: ['Reduction gear', '0.45 : 1'], fr: ['Réducteur', '0,45 : 1'], es: ['Reductora', '0,45 : 1']}, + cStarter: {en: ['Starter', 'AT THE REAR'], fr: ['Démarreur', 'À L’ARRIÈRE'], es: ['Arranque', 'ATRÁS']}, + cOilPump: {en: ['Oil pump', 'DRY SUMP'], fr: ['Pompe à huile', 'CARTER SEC'], es: ['Bomba de aceite', 'CÁRTER SECO']}, + cBaffle: {en: ['Baffles', 'FORCE THE AIR THROUGH THE FINS'], fr: ['Déflecteurs', 'FORCENT L’AIR ENTRE LES AILETTES'], es: ['Deflectores', 'OBLIGAN AL AIRE A PASAR']}, + cCowl: {en: ['Cowling', 'NACA RING'], fr: ['Capot', 'ANNEAU NACA'], es: ['Capó', 'ANILLO NACA']}, + // ------------------------------------------------------------ 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 console', fr: 'Tournez le téléphone pour la console complète', es: 'Gira el teléfono para ver la consola completa'}, + slowmo: {en: 'SLOW MOTION', fr: 'RALENTI', es: 'CÁMARA LENTA'}, + docTitle: {en: 'Radial · the R-2800 Double Wasp, taken apart', fr: 'Radial · le R-2800 Double Wasp, démonté', es: 'Radial · el R-2800 Double Wasp, desmontado'}, + footCredit: { + en: 'A C-series R-2800 after public sources, not affiliated with Pratt & Whitney', + fr: 'Un R-2800 de série C d’après les sources publiques, sans lien avec Pratt & Whitney', + es: 'Un R-2800 de la serie C según fuentes públicas, sin relación con Pratt & Whitney', + }, +}; + +/** the string for key in the page's language; extra arguments fill a templated one */ +export const T = makeT(S); +export const KEYS = Object.keys(S); +export const DICT = S; diff --git a/machines/radial/r2800-shared/live.js b/machines/radial/r2800-shared/live.js new file mode 100644 index 0000000..d659de6 --- /dev/null +++ b/machines/radial/r2800-shared/live.js @@ -0,0 +1,510 @@ +// Radial as a page you drive: the film's engine and overlay, run in real time. The starter, the magnetos and the +// throttle drive the one input (the crank angle, integrated from the engine speed each frame); slow motion, pause, +// the seven subsystems, the cutaways (glass, section, solid), four views, the cowling, orbit and zoom, H to hide the +// overlay. Left alone it plays the film's script as an auto tour with the operator's cursor, looped; a click, drag, +// wheel or key hands control to the visitor, with the engine as the tour left it; 25 s of quiet hands it back. +import {warmComposer} from 'teardown-kit/warm.js'; +import {CAMS, createConsole, CUTS, LAYERS, SUBS} from './console.js'; +import {CYL, FIRE, lift, ORDER, RATING, SPARK_ADV} from './engine.js'; +import {calloutsFor, CAM_CYL, camAt, CTX_OF, engineFrame, lookAtT, makeCursor, phaseOf, smoother, ss, SUB_OF, BTN_OF, VIEW_FN, blendLook, LOOK} from './film.js'; +import {loadFonts} from './fonts.js'; +import {airAt, camAtName, camSince, DURATION, lastSpark, rateAt, rpmAt, RUN, runAtTau, SCRIPT, starterAtTau, tauAt, thetaAt} from './schedule.js'; +import {createStage} from './stage.js'; +import {createChrome} from '../../../shared/chrome.js'; +import {LANG, 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 RATES = [1, 1 / 4, 1 / 10, 1 / 25, 1 / 40]; +// what each subsystem button shows: its own parts solid, the case and the cylinders as ghosts, the rest hidden +const ALL = {case: 1, crank: 1, cyl: 1, valve: 1, ign: 1, air: 1, prop: 1, nose: 1, oil: 1, stand: 1, cowl: 0, baffle: 1}; +const ISO = { + crank: {case: 0.1, cyl: 0.12, valve: 0, ign: 0, air: 0, prop: 0.12, nose: 0.1, oil: 0, baffle: 0, stand: 0.5}, + cyl: {case: 0.5, crank: 0, valve: 0.35, ign: 0, air: 0.25, prop: 0.2, nose: 0.4, oil: 0, stand: 0.5}, + valve: {case: 0.12, cyl: 0.16, crank: 0, ign: 0, air: 0, prop: 0.1, nose: 0.1, oil: 0, baffle: 0, stand: 0.5}, + ign: {case: 0.5, cyl: 0.4, crank: 0, valve: 0.25, air: 0.15, prop: 0.25, nose: 0.5, oil: 0, baffle: 0, stand: 0.5}, + air: {case: 0.35, cyl: 0.35, crank: 0, valve: 0.15, ign: 0, air: 0.4, prop: 0.2, nose: 0.3, oil: 0, baffle: 0, stand: 0.5}, + prop: {case: 0.3, cyl: 0.3, crank: 0.4, valve: 0, ign: 0, air: 0.2, nose: 0.15, oil: 0, baffle: 0, stand: 0.5}, + oil: {case: 0.18, cyl: 0.12, crank: 0.4, valve: 0, ign: 0, air: 0.12, prop: 0.12, nose: 0.15, baffle: 0, stand: 0.5}, +}; +const CTX_SUB = {crank: 'law', cyl: 'cyl', valve: 'cam', ign: 'ign', air: 'air', prop: 'prop', oil: 'oil'}; +const PLANE = {face: 'rowcut', hero: 'profile', profile: 'profile', inside: 'inside'}; +const INSIDE_CYL = 2; + +const CSS = (top) => ` +html,body{margin:0;background:#e9eef1 linear-gradient(#e4ebf0,#edf0f0 55%,#f3ece1) 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{filter:brightness(.93)} +.hit{position:absolute;pointer-events:auto;cursor:pointer} +.hit.ew{cursor:ew-resize} +.tourchip{position:absolute;left:800px;top:${30 + top}px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;height:24px;padding:0 12px;border:1.5px solid #2b2f34;background:rgba(246,243,234,.96);color:#22262b;font:700 12px 'Barlow Condensed',sans-serif;letter-spacing:1.3px;white-space:nowrap;cursor:pointer;pointer-events:auto} +.tourchip i{display:block;width:7px;height:7px;border-radius:50%;background:#0a8fe0} +.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:700 13px/1.4 'Barlow Condensed',sans-serif;letter-spacing:1px;color:#777b80;text-transform:uppercase;display:none} +@media (orientation:portrait) and (max-width:820px){.turn{display:block}} +`; + +export async function runLive() { + const style = document.createElement('style'); + style.textContent = CSS(0); + document.head.appendChild(style); + document.title = tr('docTitle'); + document.documentElement.lang = LANG; + await loadFonts(); + const app = document.getElementById('app'); + const canvas = document.createElement('canvas'); + canvas.id = 'gl'; + app.appendChild(canvas); + const st = createStage({canvas}); + const ui = createConsole(app, {live: true}); + const tourCursor = makeCursor(ui); + + // ------------------------------------------------------------ quality tiers + const TIERS = [ + {samples: 8, ao: true, shadow: 4096, pr: 2}, + {samples: 4, ao: false, shadow: 2048, pr: 1.5}, + {samples: 2, ao: false, shadow: 1024, 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: 'radial', name: 'Radial', 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]; + void pr; + st.setQuality(q); + fit(); + }; + applyTier(); + addEventListener('resize', fit); + const toStage = (cx, cy) => { + const r = app.getBoundingClientRect(); + return [(cx - r.left) / scale, (cy - r.top) / scale]; + }; + 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 engine, live: θ integrated from N each frame + const E = {th: 6, N: 0, target: RATING.idle, ign: false, starter: false, run: 0, air: 0, sparks: CYL.map(() => null), n: 0}; + const hash = (n) => { + const x = Math.sin(n * 127.1 + 311.7) * 43758.5453; + return x - Math.floor(x); + }; + const stepEngine = (dtau, T) => { + const running = E.ign && E.run > 0.55; + if (E.starter && E.run >= 1) E.starter = false; + let want = 0; + let tc = 1.2; + if (running) { + want = E.target; + tc = want > E.N ? 0.9 : 1.1; + } else if (E.starter) { + want = RATING.crank; + tc = 0.35; + } + E.N += (want - E.N) * (1 - Math.exp(-dtau / tc)); + if (!running && !E.starter && E.N < 25) E.N = Math.max(0, E.N - 40 * dtau); + if (E.ign && E.N > 80) E.run = Math.min(1, E.run + dtau / 1.0); + if (!E.ign) E.run = Math.max(0, E.run - dtau / 0.4); + const th0 = E.th; + E.th += E.N * 6 * dtau; + E.air += (E.N / 60) * dtau * 0.2; + // the sparks this step crossed: each lights its charge with the engine's chance of catching + if (E.ign) { + const pCatch = 0.12 + 0.88 * smoother(E.run / 0.8); + for (const c of ORDER) { + const base = FIRE[c] - SPARK_ADV; + let m = Math.ceil((th0 - base) / 720); + for (let k = 0; k < 4; k++, m++) { + const ths = base + 720 * m; + if (ths > E.th) break; + if (ths <= th0) continue; + const f = (ths - th0) / Math.max(1e-9, E.th - th0); + E.sparks[c - 1] = {t: T - (1 - f) * frameDt, th: ths, lit: hash(m * 18 + ORDER.indexOf(c) + 7 + E.n * 0.0) < pCatch}; + } + } + } + }; + let frameDt = 1 / 60; + + // ------------------------------------------------------------ state + let T = 0; + let rateI = 3; + let paused = false; + let view = 'hero'; + let viewAt = 0; + let cut = 'solid'; + let sub = ''; + const layers = {cowl: false, callouts: true}; + 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 visNow = {...ALL}; + const pulse = (x, y) => (ring = {t: T, x, y}); + const pulseBtn = (k) => pulse(...ui.spots[k]); + + // ------------------------------------------------------------ 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; + cut = 'solid'; + sub = ''; + layers.cowl = false; + layers.callouts = true; + 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 name = camAtName(cyc); + view = {face: 'face', faceFull: 'face', rowcut: 'face', apart: 'hero', cam: 'hero', takeoff: 'profile', heroEnd: 'hero'}[name] || 'hero'; + viewAt = T - 10; + sub = {rowcut: 'crank', cam: 'valve'}[name] || ''; + cut = name === 'rowcut' ? 'section' : 'solid'; + for (const g of Object.keys(ALL)) visNow[g] = sub ? (ISO[sub][g] ?? 1) : ALL[g]; + // the engine carries on where the tour left it + const tau = tauAt(cyc); + Object.assign(E, {th: thetaAt(cyc), N: rpmAt(cyc), ign: tau >= RUN.ign, starter: starterAtTau(tau) > 0, run: runAtTau(tau), air: airAt(cyc)}); + E.target = clamp(Math.round(E.N / 50) * 50, RATING.idle, RATING.takeoff.rpm); + rateI = RATES.reduce((b, r, i) => (Math.abs(Math.log(r / rateAt(cyc))) < Math.abs(Math.log(RATES[b] / rateAt(cyc))) ? i : b), 0); + for (const cy of CYL) { + const s = lastSpark(cy.c, cyc); + E.sparks[cy.c - 1] = {t: T - (cyc - s.t), th: s.th, lit: s.lit}; + } + }; + tourChip.addEventListener('pointerdown', (e) => { + e.stopPropagation(); + lastInput = T; + if (AP.on) takeOver(); + else startTour(); + }); + addEventListener('pointerdown', (e) => { + if (e.target !== tourChip) takeOver(); + }); + + // ------------------------------------------------------------ controls + const setView = (v) => { + view = v; + viewAt = T; + Object.assign(off, {az: 0, el: 0, k: 1}); + if (v === 'inside') cut = 'section'; + }; + const on = (k, fn) => + ui.btn[k].addEventListener('click', () => { + takeOver(); + pulseBtn(k); + fn(); + }); + for (const k of CAMS) on(k, () => setView(k)); + for (const k of CUTS) on(k, () => (cut = k)); + for (const k of SUBS) on(k, () => (sub = sub === k ? '' : k)); + for (const k of LAYERS) on(k, () => (layers[k] = !layers[k])); + on('pause', () => (paused = !paused)); + on('starter', () => { + if (E.run < 1) E.starter = !E.starter; + }); + on('ignition', () => (E.ign = !E.ign)); + on('slowmo', () => (rateI = (rateI + 1) % RATES.length)); + { + const {SL} = ui; + const d = document.createElement('div'); + d.className = 'hit ew'; + Object.assign(d.style, {left: `${SL.x - 8}px`, top: '840px', width: `${SL.w + 16}px`, height: '26px'}); + const apply = (e) => { + const [x] = toStage(e.clientX, e.clientY); + const k = clamp((x - SL.x) / SL.w, 0, 1); + E.target = Math.round((RATING.idle + k * (RATING.takeoff.rpm - RATING.idle)) / 50) * 50; + lastInput = T; + }; + d.addEventListener('pointerdown', (e) => { + takeOver(); + d.setPointerCapture(e.pointerId); + const up = () => { + removeEventListener('pointermove', apply); + removeEventListener('pointerup', up); + }; + addEventListener('pointermove', apply); + addEventListener('pointerup', up); + apply(e); + }); + ui.root.appendChild(d); + } + addEventListener('keydown', (e) => { + if (e.altKey || e.ctrlKey || e.metaKey) return; + const key = e.key.toLowerCase(); + const v = {1: 'face', 2: 'hero', 3: 'profile', 4: 'inside'}[key]; + takeOver(); + if (v) setView(v); + else if (key === ' ') paused = !paused; + else if (key === 'h') hidden = !hidden; + else if (key === 's') E.starter = E.run < 1 && !E.starter; + else if (key === 'm') E.ign = !E.ign; + else if (key === 'arrowleft') rateI = clamp(rateI + 1, 0, RATES.length - 1); + else if (key === 'arrowright') rateI = clamp(rateI - 1, 0, RATES.length - 1); + else if (key === 'arrowup') E.target = clamp(E.target + 100, RATING.idle, RATING.takeoff.rpm); + else if (key === 'arrowdown') E.target = clamp(E.target - 100, RATING.idle, RATING.takeoff.rpm); + 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, -25, 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 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)); + frameDt = dt; + 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 th; + let N; + let run; + let rate; + let spark; + let tgt; + let cursor; + let fxLook; + let caption = ''; + let calloutView; + let since; + let phase; + let ctx; + let ctxArg; + let camBtn; + let camHi = null; + let starterOn; + let ignOn; + let air; + let thr; + if (AP.on) { + // the film, exactly: its run, its look, its camera + const c = T - AP.t0; + const loop = Math.floor(c / DURATION); + const cyc = c - loop * DURATION; + if (loop > AP.loop) AP.loop = loop; + th = thetaAt(cyc); + const tau = tauAt(cyc); + N = rpmAt(cyc); + run = runAtTau(tau); + rate = rateAt(cyc); + spark = (cc) => { + const s = lastSpark(cc, cyc); + return {t: T - (cyc - s.t), th: s.th, lit: s.lit}; + }; + const name = camAtName(cyc); + since = camSince(cyc); + fxLook = lookAtT(cyc); + tgt = camAt(cyc); + cursor = tourCursor(cyc); + if (AP.loop > 0 && cyc < 0.8) { + const end = tourCursor(DURATION - 0.01); + const k = ss(0, 0.8, cyc); + cursor = {...cursor, x: end.x + (cursor.x - end.x) * k, y: end.y + (cursor.y - end.y) * k}; + } + phase = phaseOf(tau); + caption = tr('cap:' + (name === 'hero' && phase !== 'stopped' ? phase : name)); + calloutView = name; + ctx = CTX_OF[name] || 'run'; + ctxArg = name === 'cam' ? CAM_CYL : name === 'rowcut' ? 'front' : undefined; + camBtn = BTN_OF[name]; + if (fxLook.focusK > 0.5) camHi = CYL.map((cy) => (cy.c === CAM_CYL ? {in: lift(cy.c, 'in', th), ex: lift(cy.c, 'ex', th)} : {in: 0, ex: 0})); + starterOn = starterAtTau(tau) > 0; + ignOn = tau >= RUN.ign; + air = airAt(cyc); + thr = N; + st.setCut(fxLook.cut ? 'section' : 'solid', fxLook.cut || 'profile'); + sub = SUB_OF[name] || ''; + if (name === 'hero' && cyc > 1.5) since = -1; + } else { + if (T - lastInput > IDLE) startTour(); + rate = paused ? 0 : RATES[rateI]; + stepEngine(dt * rate, T); + th = E.th; + N = E.N; + run = E.run; + spark = (cc) => E.sparks[cc - 1]; + since = T - viewAt; + // the look: the subsystem's, eased + const want = sub ? {...ALL, ...ISO[sub], [sub]: 1} : {...ALL}; + want.cowl = layers.cowl ? 1 : 0; + if (sub === 'prop') want.nose = 0.15; + const kk = 1 - Math.exp(-dt / 0.25); + for (const g of Object.keys(ALL)) visNow[g] += ((want[g] ?? 1) - visNow[g]) * kk; + fxLook = {vis: {...visNow}, apart: 0, hideRear: 0, focus: 0}; + tgt = VIEW_FN[view](since); + tgt.az += off.az; + tgt.el = clamp(tgt.el + off.el, -20, 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}; + phase = !E.ign && !E.starter && N < 1 ? 'stopped' : E.starter && E.run < 0.55 ? (E.ign ? 'ignition' : 'starter') : N > E.target + 60 ? 'back' : N < E.target - 60 ? 'climb' : N > 2500 ? 'takeoff' : 'idle'; + calloutView = view === 'hero' ? 'hero' : view === 'face' ? 'face' : ''; + ctx = sub ? CTX_SUB[sub] : N > 1500 ? 'takeoff' : 'run'; + ctxArg = sub === 'valve' ? INSIDE_CYL : sub === 'crank' ? 'front' : undefined; + camBtn = view; + if (sub === 'valve') camHi = CYL.map((cy) => ({in: lift(cy.c, 'in', th), ex: lift(cy.c, 'ex', th)})); + starterOn = E.starter; + ignOn = E.ign; + air = E.air; + thr = E.target; + if (cut === 'section') { + if (view === 'inside') { + const a = CYL[INSIDE_CYL - 1].angle * D2R; + st.planes.inside.normal.set(-Math.cos(a), -Math.sin(a), 0); + st.planes.inside.constant = 0; + } + st.setCut('section', PLANE[view] + (view === 'inside' ? '' : '')); + } else st.setCut('solid'); + } + const {s, lit, blur} = engineFrame({th, N, run, rate: Math.max(rate, 1e-4), spark, now: T}); + + // the camera eases toward its target + 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] ?? 0) - (cam[key] ?? 0)) * k; + cam.fov = (cam.fov ?? 26) + ((tgt.fov ?? 26) - (cam.fov ?? 26)) * k; + cam.d = Math.exp(Math.log(cam.d) + (Math.log(tgt.d) - Math.log(cam.d)) * k); + const fx = { + th, + vis: fxLook.vis, + apart: fxLook.apart, + hideRear: fxLook.hideRear, + focus: fxLook.focus, + focusK: fxLook.focusK ?? 0, + glass: !AP.on && cut === 'glass', + glow: lit, + headGlow: lit.map((g) => g * 0.85 * (1 - (fxLook.focusK ?? 0))), + blur, + camHi, + air, + airK: !AP.on && sub === 'air' ? 1 : 0, + oil: th / 1440, + oilK: !AP.on && sub === 'oil' ? 1 : 0, + }; + st.frame(fx, {...cam, az: cam.az * D2R, el: cam.el * D2R}); + + ui.root.style.display = hidden ? 'none' : ''; + const callVis = layers.callouts && calloutView && since >= 0 ? ss(1.2, 2.0, since) : 0; + ui.update({ + ...s, + th, + lit, + rate: Math.max(rate, 1e-4), + phase, + starter: starterOn, + ignition: ignOn, + thrRpm: thr, + ctx, + ctxArg, + sub, + cut: AP.on ? (fxLook.cut ? 'section' : 'solid') : cut, + camBtn, + layers: {...layers}, + paused, + slowmo: rate < 0.98, + caption, + callouts: calloutView ? calloutsFor(calloutView, st, callVis) : [], + cursor, + }); + 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); + }; + st.frame({th: 6, vis: ALL, glow: CYL.map(() => 0), headGlow: CYL.map(() => 0), blur: 0}, {...cam, az: cam.az * D2R, el: cam.el * D2R}); + warmComposer(st.renderer, st.composer, st.scene, st.camera).then(() => requestAnimationFrame(frame)); + window.LIVE = { + st, + cam, + E, + startTour, + takeOver, + get tier() { + return tier; + }, + get T() { + return T; + }, + }; + void blendLook; + void LOOK; + void SCRIPT; +} diff --git a/machines/radial/r2800-shared/make-timeline.mjs b/machines/radial/r2800-shared/make-timeline.mjs new file mode 100644 index 0000000..060702e --- /dev/null +++ b/machines/radial/r2800-shared/make-timeline.mjs @@ -0,0 +1,47 @@ +// Writes ../r2800-film/timeline.json (the beats, for review sheets and the score) and ../r2800-film/events.json +// (every spark of the film, lit or missed, and the engine's speed, slow motion, manifold pressure and firing rate on +// screen sampled at 100 Hz), all from the same schedule and model the film draws. +// node r2800-shared/make-timeline.mjs (from machines/radial) +import fs from 'node:fs'; +import path from 'node:path'; +import {fileURLToPath} from 'node:url'; +import {stateAt} from './engine.js'; +import {BEATS, DURATION, rateAt, rpmAt, RUN, runAtTau, SCRIPT, sparkList, tauAt, thetaAt} from './schedule.js'; + +const HERE = path.dirname(fileURLToPath(import.meta.url)); +const r = (x) => +x.toFixed(3); +// film time of a physical time (τ is monotone in t) +const tOfTau = (tau) => { + let lo = 0; + let hi = DURATION; + for (let k = 0; k < 50; k++) { + const mid = (lo + hi) / 2; + if (tauAt(mid) < tau) lo = mid; + else hi = mid; + } + return r((lo + hi) / 2); +}; +const beats = { + views: BEATS, + presses: SCRIPT.filter((e) => e.press).map((e) => e.t), + starter: tOfTau(RUN.starter), + ignition: tOfTau(RUN.ign), + disengage: tOfTau(RUN.disengage), + climb: tOfTau(RUN.climb), + full: tOfTau(RUN.climb + RUN.climbLen), + back: tOfTau(RUN.back), + idleAgain: tOfTau(RUN.back + RUN.backLen), +}; +fs.writeFileSync(path.join(HERE, '../r2800-film/timeline.json'), JSON.stringify({duration: DURATION, beats})); +const samples = []; +for (let i = 0; i <= DURATION * 100; i++) { + const t = i / 100; + const N = rpmAt(t); + const tau = tauAt(t); + const s = stateAt(N, runAtTau(tau)); + const rate = rateAt(t); + samples.push([r(N), r(rate), r(s.map), r(s.fireHz * rate * runAtTau(tau)), r(thetaAt(t))]); +} +const sparks = sparkList(); +fs.writeFileSync(path.join(HERE, '../r2800-film/events.json'), JSON.stringify({rate: 100, fields: ['rpm', 'slow', 'map', 'fireHzScreen', 'theta'], samples, sparks})); +console.log(beats, sparks.length, 'sparks', sparks.filter((s) => s[2]).length, 'lit'); diff --git a/machines/radial/r2800-shared/model.js b/machines/radial/r2800-shared/model.js new file mode 100644 index 0000000..a31986b --- /dev/null +++ b/machines/radial/r2800-shared/model.js @@ -0,0 +1,928 @@ +// The R-2800 itself, built from code in metres from the numbers in engine.js and against the reference photographs +// (REFERENCES.md): a grey-blue forged crankcase in three sections, 18 steel barrels under black finned muffs, raw +// aluminium heads with deep fins and two rocker boxes each, chromed pushrod tubes from two cam rings, two plugs per +// head on a braided harness ring, two magnetos on the nose, black intake pipes from the supercharger's diffuser, a +// two-throw crankshaft with a master rod and eight articulated rods per row, a planetary reduction gear, a three-blade +// propeller, a cowling and the black inter-cylinder baffles. update(fx) poses everything from the crank angle. +// +// World: the engine's axis is z (the propeller at +z), y up, the axis at the origin. An angle a measured clockwise +// from the top seen from the rear (engine.js) is a rotation of +a about z. +import * as THREE from 'three'; +import {mergeGeometries} from 'three/addons/utils/BufferGeometryUtils.js'; +import {CAM, CAM_PHASE, CYL, E, GEAR, lift, lobeOffset, PROP_D, ROWS, rowPose, VALVE} from './engine.js'; + +export const ACCENT = '#0a8fe0'; +const V3 = THREE.Vector3; +const D2R = Math.PI / 180; +const mm = (x) => x / 1000; +export const FLOOR_Y = -2.2; +const PROP_OFF = 0; // the blades' angle at θ = 0, chosen so frame 0 shows the cylinders between them + +// ------------------------------------------------------------ geometry helpers (millimetres in, metres out) +/** a lathed part around Y: profile [[r, y], ...] in mm */ +const lathe = (pts, seg = 40) => new THREE.LatheGeometry(pts.map(([r, y]) => new THREE.Vector2(mm(r), mm(y))), seg); +/** a lathed part around the engine axis z: profile [[r, z], ...] in mm */ +const latheZ = (pts, seg = 64) => lathe(pts, seg).rotateX(Math.PI / 2); +/** the same, its profile smoothed by a centripetal spline through the points (no facets at the knees) */ +const latheZs = (pts, seg = 72, n = 4) => { + const c = new THREE.SplineCurve(pts.map(([r, z]) => new THREE.Vector2(r, z))); + const out = c.getSpacedPoints(Math.max(8, pts.length * n)).map((v) => [Math.max(0, v.x), v.y]); + out[0] = pts[0]; + out[out.length - 1] = pts[pts.length - 1]; + return latheZ(out, seg); +}; +/** an annular fin: outer wall plus two flat faces, between y and y + t, from rIn to rOut (mm) */ +function finGeo(rIn, rOut, y, t, seg) { + const side = new THREE.CylinderGeometry(mm(rOut), mm(rOut), mm(t), seg, 1, true).translate(0, mm(y + t / 2), 0); + const top = new THREE.RingGeometry(mm(rIn), mm(rOut), seg, 1).rotateX(-Math.PI / 2).translate(0, mm(y + t), 0); + const bot = new THREE.RingGeometry(mm(rIn), mm(rOut), seg, 1).rotateX(Math.PI / 2).translate(0, mm(y), 0); + return [side, top, bot]; +} +const tube = (r, y0, y1, seg = 32, open = true) => new THREE.CylinderGeometry(mm(r), mm(r), mm(y1 - y0), seg, 1, open).translate(0, mm((y0 + y1) / 2), 0); +const merge = (list) => { + const g = mergeGeometries(list.map((x) => (x.index ? x.toNonIndexed() : x))); + g.computeBoundingSphere(); + return g; +}; +/** a gear disc in the XY plane (extruded along z): teeth, pitch radius, width, all mm */ +function gearGeo(teeth, rp, width, hole = 0) { + const m = (2 * rp) / teeth; + const ro = rp + m; + const rr = rp - 1.2 * m; + const sh = new THREE.Shape(); + for (let i = 0; i < teeth; i++) { + const a0 = (i / teeth) * Math.PI * 2; + const da = (Math.PI * 2) / teeth; + const pts = [ + [rr, a0], + [rr, a0 + da * 0.2], + [ro, a0 + da * 0.36], + [ro, a0 + da * 0.6], + [rr, a0 + da * 0.76], + ]; + pts.forEach(([r, a], k) => (i === 0 && k === 0 ? sh.moveTo(mm(r * Math.cos(a)), mm(r * Math.sin(a))) : sh.lineTo(mm(r * Math.cos(a)), mm(r * Math.sin(a))))); + } + sh.closePath(); + if (hole) { + const h = new THREE.Path(); + h.absarc(0, 0, mm(hole), 0, Math.PI * 2, true); + sh.holes.push(h); + } + const g = new THREE.ExtrudeGeometry(sh, {depth: mm(width), bevelEnabled: false, curveSegments: 2}); + g.translate(0, 0, -mm(width) / 2); + return g; +} +/** an internal (ring) gear: teeth pointing in */ +function ringGearGeo(teeth, rp, rOut, width) { + const m = (2 * rp) / teeth; + const ri = rp - m; + const rr = rp + 1.2 * m; + const sh = new THREE.Shape(); + sh.absarc(0, 0, mm(rOut), 0, Math.PI * 2, false); + const h = new THREE.Path(); + for (let i = 0; i < teeth; i++) { + const a0 = (i / teeth) * Math.PI * 2; + const da = (Math.PI * 2) / teeth; + const pts = [ + [rr, a0], + [rr, a0 + da * 0.2], + [ri, a0 + da * 0.36], + [ri, a0 + da * 0.6], + [rr, a0 + da * 0.76], + ]; + pts.forEach(([r, a], k) => (i === 0 && k === 0 ? h.moveTo(mm(r * Math.cos(a)), mm(r * Math.sin(a))) : h.lineTo(mm(r * Math.cos(a)), mm(r * Math.sin(a))))); + } + h.closePath(); + sh.holes.push(h); + const g = new THREE.ExtrudeGeometry(sh, {depth: mm(width), bevelEnabled: false, curveSegments: 24}); + g.translate(0, 0, -mm(width) / 2); + return g; +} +/** a cam track: base circle plus 4 lobes at the given ring angles (degrees clockwise from the rear), in XY */ +function camTrackGeo(phase, half, base, rise, width) { + const sh = new THREE.Shape(); + const N = 360; + for (let i = 0; i <= N; i++) { + const b = (i / N) * 360; // ring angle, clockwise from the top seen from the rear + const x = (((b - phase) % 90) + 90 + 45) % 90 - 45; + const u = Math.abs(x) / half; + const r = base + (u >= 1 ? 0 : rise * (0.5 + 0.5 * Math.cos(Math.PI * u))); + const px = -Math.sin(b * D2R) * r; + const py = Math.cos(b * D2R) * r; + if (i === 0) sh.moveTo(mm(px), mm(py)); + else sh.lineTo(mm(px), mm(py)); + } + const h = new THREE.Path(); + h.absarc(0, 0, mm(base - 16), 0, Math.PI * 2, true); + sh.holes.push(h); + const g = new THREE.ExtrudeGeometry(sh, {depth: mm(width), bevelEnabled: false, curveSegments: 48}); + g.translate(0, 0, -mm(width) / 2); + return g; +} +const curveTube = (pts, r, seg = 48, rs = 10) => new THREE.TubeGeometry(new THREE.CatmullRomCurve3(pts.map((p) => new V3(mm(p[0]), mm(p[1]), mm(p[2])))), seg, mm(r), rs, false); +/** a point given by its engine angle (clockwise from the top seen from the rear), radius and z (mm) */ +const polar = (a, r, z) => [-Math.sin(a * D2R) * r, Math.cos(a * D2R) * r, z]; + +// ------------------------------------------------------------ textures from code +function braidTexture() { + const c = document.createElement('canvas'); + c.width = 64; + c.height = 16; + const g = c.getContext('2d'); + g.fillStyle = '#8f918c'; + g.fillRect(0, 0, 64, 16); + for (let x = -16; x < 80; x += 4) { + g.strokeStyle = x % 8 ? '#6c6e69' : '#b4b5b0'; + g.lineWidth = 1.6; + g.beginPath(); + g.moveTo(x, 0); + g.lineTo(x + 16, 16); + g.stroke(); + g.beginPath(); + g.moveTo(x + 16, 0); + g.lineTo(x, 16); + g.stroke(); + } + const t = new THREE.CanvasTexture(c); + t.wrapS = t.wrapT = THREE.RepeatWrapping; + t.repeat.set(40, 1); + t.colorSpace = THREE.SRGBColorSpace; + return t; +} +function blurTexture() { + const c = document.createElement('canvas'); + c.width = 256; + c.height = 4; + const g = c.getContext('2d'); + const gr = g.createLinearGradient(0, 0, 256, 0); + gr.addColorStop(0, 'rgba(24,24,24,0.0)'); + gr.addColorStop(0.08, 'rgba(24,24,24,0.55)'); + gr.addColorStop(0.5, 'rgba(26,26,26,0.42)'); + gr.addColorStop(0.9, 'rgba(30,30,30,0.3)'); + gr.addColorStop(0.94, 'rgba(214,170,40,0.55)'); + gr.addColorStop(1, 'rgba(214,170,40,0.0)'); + g.fillStyle = gr; + g.fillRect(0, 0, 256, 4); + const t = new THREE.CanvasTexture(c); + t.colorSpace = THREE.SRGBColorSpace; + return t; +} + +export function buildEngine() { + const root = new THREE.Group(); + const CLIP = [new THREE.Plane(new V3(0, 0, -1), 0)]; + const M = { + fins: new THREE.MeshStandardMaterial({color: '#18191b', roughness: 0.62, metalness: 0.35, side: THREE.DoubleSide}), + case: new THREE.MeshStandardMaterial({color: '#6b7884', roughness: 0.55, metalness: 0.35, side: THREE.DoubleSide}), + caseDark: new THREE.MeshStandardMaterial({color: '#56616b', roughness: 0.58, metalness: 0.35, side: THREE.DoubleSide}), + alu: new THREE.MeshStandardMaterial({color: '#a3a7ab', roughness: 0.5, metalness: 0.8, side: THREE.DoubleSide}), + chrome: new THREE.MeshStandardMaterial({color: '#aeb2b7', roughness: 0.42, metalness: 1, envMapIntensity: 0.55}), + steel: new THREE.MeshStandardMaterial({color: '#a7acb2', roughness: 0.42, metalness: 0.95, side: THREE.DoubleSide}), + steelDark: new THREE.MeshStandardMaterial({color: '#6e7277', roughness: 0.48, metalness: 0.9, side: THREE.DoubleSide}), + piston: new THREE.MeshStandardMaterial({color: '#c9ccd0', roughness: 0.45, metalness: 0.8, side: THREE.DoubleSide}), + black: new THREE.MeshStandardMaterial({color: '#1e2022', roughness: 0.62, metalness: 0.25, side: THREE.DoubleSide}), + exhaust: new THREE.MeshStandardMaterial({color: '#4a3f37', roughness: 0.75, metalness: 0.5}), + braid: new THREE.MeshStandardMaterial({color: '#9a9b96', roughness: 0.55, metalness: 0.7, map: braidTexture()}), + hub: new THREE.MeshStandardMaterial({color: '#3b3e42', roughness: 0.48, metalness: 0.7}), + plug: new THREE.MeshStandardMaterial({color: '#8c8f93', roughness: 0.45, metalness: 0.9}), + stand: new THREE.MeshStandardMaterial({color: '#55585b', roughness: 0.6, metalness: 0.5}), + cowl: new THREE.MeshStandardMaterial({color: '#959ba1', roughness: 0.5, metalness: 0.55, side: THREE.DoubleSide, envMapIntensity: 0.6}), + blade: new THREE.MeshStandardMaterial({color: '#ffffff', roughness: 0.62, metalness: 0.2, vertexColors: true, side: THREE.DoubleSide}), + oil: new THREE.MeshStandardMaterial({color: '#8a6a3a', roughness: 0.5, metalness: 0.6, emissive: '#c58a2a', emissiveIntensity: 0}), + glass: new THREE.MeshPhysicalMaterial({color: '#e9eef2', roughness: 0.1, metalness: 0, transparent: true, opacity: 0.13, depthWrite: false, side: THREE.DoubleSide}), + flame: new THREE.MeshBasicMaterial({color: ACCENT, transparent: true, opacity: 0, depthWrite: false, side: THREE.DoubleSide}), + accent: new THREE.MeshBasicMaterial({color: ACCENT}), + blur: new THREE.MeshBasicMaterial({color: '#2a2b2c', transparent: true, opacity: 0, depthWrite: false, side: THREE.DoubleSide}), + blurTip: new THREE.MeshBasicMaterial({color: '#c99a1e', transparent: true, opacity: 0, depthWrite: false, side: THREE.DoubleSide}), + }; + // every lit material can be cut by the section plane + for (const k of Object.keys(M)) M[k].clipShadows = true; + + // groups: what each subsystem button isolates + const GROUPS = ['case', 'crank', 'cyl', 'valve', 'ign', 'air', 'prop', 'nose', 'oil', 'stand', 'cowl', 'baffle']; + const parts = Object.fromEntries(GROUPS.map((g) => [g, []])); + const add = (parent, geo, mat, group, opts = {}) => { + const m = new THREE.Mesh(geo, mat); + m.castShadow = opts.cast ?? true; + m.receiveShadow = opts.receive ?? true; + m.userData = {group, mat, glassable: !!opts.glassable, nocut: !!opts.nocut}; + parent.add(m); + parts[group].push(m); + return m; + }; + + // per-row assemblies (they slide apart along the axis in the "rows apart" view) + const rowG = {rear: new THREE.Group(), front: new THREE.Group()}; + root.add(rowG.rear, rowG.front); + + // ------------------------------------------------------------ the power section crankcase + const caseGeo = latheZ([ + [0, -232], + [236, -232], + [252, -214], + [258, -150], + [262, -105], + [258, -60], + [250, 0], + [258, 60], + [262, 105], + [258, 150], + [252, 214], + [246, 250], + [0, 250], + ]); + add(root, caseGeo, M.case, 'case', {glassable: true}); + // the cylinder pads, one boss per cylinder + const padGeo = tube(112, 236, 262, 36, false); + for (const cy of CYL) { + const p = add(rowG[cy.row], padGeo, M.caseDark, 'case', {glassable: true}); + p.rotation.z = cy.angle * D2R; + p.position.z = mm(E.rowZ[cy.row]); + p.rotation.order = 'ZYX'; + } + + // ------------------------------------------------------------ cylinders + const barrelGeo = (() => { + const g = [tube(84, 262, 300), tube(73, 236, 470), tube(84, 438, 448)]; + g.push(...finGeo(84, 99, 254, 10, 40)); + for (let y = 302; y < 432; y += 5.6) g.push(...finGeo(84, 102, y, 1.8, 40)); + return merge(g); + })(); + const headGeo = (() => { + const g = [lathe([[86, 440], [88, 470], [86, 540], [70, 580], [40, 598], [0, 604]], 40)]; + for (let y = 452, i = 0; y < 570; y += 6.6, i++) { + const k = (y - 452) / 118; + g.push(...finGeo(84 - 22 * k * k, 112 - 26 * k * k, y, 2.4, 40)); + } + // the combustion chamber's roof, seen in section + g.push(lathe([[73, 470], [70, 478], [52, 492], [0, 500]], 36)); + return merge(g); + })(); + // rocker boxes: one over each valve, their covers at the top + const boxGeo = merge([new THREE.CapsuleGeometry(mm(24), mm(62), 6, 16).rotateX(Math.PI / 2), new THREE.CylinderGeometry(mm(29), mm(29), mm(8), 20).translate(0, mm(16), mm(-18))]); + const portGeo = new THREE.CylinderGeometry(mm(34), mm(38), mm(60), 20).rotateX(Math.PI / 2); + const exGeo = curveTube([[0, 512, 92], [0, 520, 128], [0, 540, 158]], 22, 12, 12); + const plugGeo = merge([new THREE.CylinderGeometry(mm(10), mm(10), mm(44), 12).rotateX(Math.PI / 2), new THREE.CylinderGeometry(mm(14), mm(14), mm(12), 6).rotateX(Math.PI / 2).translate(0, 0, mm(-14))]); + const flameGeo = lathe([[70, 436], [72, 468], [52, 490], [0, 498]], 32); + const cylinders = CYL.map((cy) => { + const g = new THREE.Group(); + g.rotation.z = cy.angle * D2R; + g.position.z = mm(E.rowZ[cy.row]); + rowG[cy.row].add(g); + add(g, barrelGeo, M.fins, 'cyl', {glassable: true}); + const headMat = M.alu.clone(); + headMat.clipShadows = true; + headMat.emissive = new THREE.Color(ACCENT); + headMat.emissiveIntensity = 0; + const head = add(g, headGeo, headMat, 'cyl', {glassable: true}); + head.userData.ownMat = true; + head.userData.mat = headMat; + const flame = add(g, flameGeo, M.flame.clone(), 'cyl', {cast: false, receive: false}); + flame.userData.isFlame = true; + flame.renderOrder = 2; + // the cam side: the front row's ring is in front of it, the rear row's behind + const side = cy.row === 'front' ? 1 : -1; + for (const s of [-1, 1]) { + const b = add(g, boxGeo, M.alu, 'cyl'); + b.position.set(0, mm(592), mm(60 * s)); + b.rotation.x = -0.32 * s; + } + add(g, portGeo, M.alu, 'cyl').position.set(0, mm(522), mm(-100)); + const ex = add(g, exGeo, M.exhaust, 'cyl'); + if (cy.row === 'rear') ex.scale.z = 0.55; + for (const s of [-1, 1]) { + const p = add(g, plugGeo, M.plug, 'ign'); + p.position.set(mm(s * 30), mm(476), mm(110 * s)); + p.rotation.y = s * 0.25; + } + return {cy, g, head, flame, side}; + }); + + // ------------------------------------------------------------ the valve train: two cam rings, tappets, pushrods, rockers, valves + const camRings = {}; + for (const row of ['rear', 'front']) { + const side = row === 'front' ? 1 : -1; + const z = E.rowZ[row] + side * 125; + const g = new THREE.Group(); + g.position.z = mm(z); + rowG[row].add(g); + const half = {in: (VALVE.in[1] - VALVE.in[0]) / 16, ex: (VALVE.ex[1] - VALVE.ex[0]) / 16}; + const tin = add(g, camTrackGeo(CAM_PHASE[row].in, half.in, 140, 12, 12), M.steel, 'valve'); + tin.position.z = mm(-8); + const tex = add(g, camTrackGeo(CAM_PHASE[row].ex, half.ex, 140, 12, 12), M.steel, 'valve'); + tex.position.z = mm(8); + add(g, tube(120, -14, 14, 48, false).rotateX(Math.PI / 2), M.steelDark, 'valve'); + camRings[row] = g; + } + const tappetGeo = merge([tube(9, 0, 96, 12, false), new THREE.CylinderGeometry(mm(12), mm(12), mm(10), 14).rotateZ(Math.PI / 2)]); + const rodGeo = (a, b) => curveTube([a, [(a[0] + b[0]) / 2, (a[1] + b[1]) / 2, (a[2] + b[2]) / 2], b], 7.5, 8, 10); + // the pushrod tubes: the near valve goes straight up the cam side, the far one around the barrel + const nearTube = curveTube([[18, 262, 125], [18, 420, 124], [18, 566, 116]], 7.5, 24, 10); + const farTube = curveTube([[-24, 262, 125], [-92, 340, 86], [-114, 440, 0], [-92, 528, -84], [-24, 566, -116]], 7.5, 48, 10); + const valveGeo = merge([tube(4.5, 470, 580, 10, false), lathe([[0, 462], [27, 462], [27, 466], [10, 474], [4.5, 486]], 24)]); + const rockerGeo = merge([new THREE.BoxGeometry(mm(12), mm(10), mm(96)).translate(0, 0, mm(10)), new THREE.CylinderGeometry(mm(9), mm(9), mm(22), 12).rotateZ(Math.PI / 2)]); + const train = cylinders.map((C) => { + const {g, side} = C; + const out = {}; + for (const ev of ['in', 'ex']) { + // the inlet valve is at the rear of the head, the exhaust at the front + const vs = ev === 'in' ? -1 : 1; + const near = vs === side; + const tz = side * 125 + (ev === 'in' ? -8 : 8); + const tp = add(g, tappetGeo, M.steel, 'valve'); + tp.position.set(mm(near ? 18 : -18), mm(152), mm(tz)); + const tb = add(g, near ? nearTube : farTube, M.chrome, 'valve', {glassable: true}); + if (side < 0) tb.scale.z = -1; + const v = add(g, valveGeo, M.steel, 'valve'); + v.position.z = mm(34 * vs); + v.rotation.x = 0; + const rk = add(g, rockerGeo, M.steel, 'valve'); + rk.position.set(0, mm(590), mm(70 * vs)); + rk.scale.z = vs; + out[ev] = {tp, tb, v, rk, near}; + } + return out; + }); + + // every part that belongs to one cylinder knows which (the cam view shows one cylinder's train); its tappet stays + for (const C of cylinders) C.g.traverse((o) => o.isMesh && (o.userData.cyl = C.cy.c)); + for (const tr of train) for (const ev of ['in', 'ex']) tr[ev].tp.userData.keep = true; + + // ------------------------------------------------------------ the crankshaft: two throws at 180°, two halves + const crank = {}; + const webGeo = (() => { + const sh = new THREE.Shape(); + const R = 128; + sh.moveTo(mm(-R * Math.sin(1.1)), mm(-R * Math.cos(1.1))); + sh.absarc(0, 0, mm(R), -Math.PI / 2 - 1.1, -Math.PI / 2 + 1.1, false); + sh.lineTo(mm(52), mm(20)); + sh.absarc(0, mm(E.r), mm(54), 0, Math.PI, false); + sh.lineTo(mm(-52), mm(20)); + sh.closePath(); + const g = new THREE.ExtrudeGeometry(sh, {depth: mm(26), bevelEnabled: true, bevelThickness: mm(2), bevelSize: mm(2), bevelSegments: 1, curveSegments: 20}); + g.translate(0, 0, -mm(13)); + return g; + })(); + for (const row of ['rear', 'front']) { + const g = new THREE.Group(); + g.position.z = mm(E.rowZ[row]); + rowG[row].add(g); + const sign = row === 'rear' ? 1 : -1; // the front pin is 180° from the rear one + const inner = row === 'rear' ? 1 : -1; // toward the centre of the engine + for (const dz of [-44, 44]) { + const w = add(g, webGeo, M.steel, 'crank'); + w.position.z = mm(dz); + if (sign < 0) w.rotation.z = Math.PI; + } + add(g, tube(46, -32, 32, 32, false).rotateX(Math.PI / 2).translate(0, mm(E.r * sign), 0), M.steel, 'crank'); + // main journals: outward to the end bearing, inward to the centre one + add(g, tube(50, 0, 160, 32, false).rotateX(Math.PI / 2).translate(0, 0, mm(-inner * 130)), M.steel, 'crank'); + add(g, tube(50, -inner * 60, -inner * 4, 32, false).rotateX(Math.PI / 2).translate(0, 0, mm(inner * 60 + (inner > 0 ? 0 : 0))), M.steel, 'crank'); + // the oil drilling, through the journal and out to the crankpin + add(g, curveTube([[0, 0, -inner * 150], [0, 0, -inner * 40], [0, E.r * sign * 0.5, 0], [0, E.r * sign, 0]], 7, 24, 8), M.oil, 'oil', {cast: false}); + crank[row] = g; + } + // the centre main bearing + add(root, tube(58, -16, 16, 36, false).rotateX(Math.PI / 2), M.steelDark, 'crank'); + + // ------------------------------------------------------------ rods and pistons + const pistonGeo = (() => { + const g = [tube(72.5, -50, 66, 40, false), new THREE.CircleGeometry(mm(72.5), 40).rotateX(-Math.PI / 2).translate(0, mm(66), 0)]; + for (const y of [40, 48, 56]) g.push(tube(73.2, y, y + 2.2, 40, false)); + return merge(g); + })(); + const pinGeo = new THREE.CylinderGeometry(mm(16), mm(16), mm(128), 16).rotateZ(Math.PI / 2); + const masterGeo = (() => { + const sh = new THREE.Shape(); + sh.absarc(0, 0, mm(88), 0, Math.PI * 2, false); + const h = new THREE.Path(); + h.absarc(0, 0, mm(47), 0, Math.PI * 2, true); + sh.holes.push(h); + const flange = new THREE.ExtrudeGeometry(sh, {depth: mm(52), bevelEnabled: false, curveSegments: 40}).translate(0, 0, -mm(26)); + const shank = new THREE.BoxGeometry(mm(34), mm(E.L - 110), mm(30)).translate(0, mm(80 + (E.L - 110) / 2 - 10), 0); + const eye = new THREE.CylinderGeometry(mm(26), mm(26), mm(34), 20).rotateX(Math.PI / 2).translate(0, mm(E.L), 0); + return merge([flange, shank, eye]); + })(); + const knuckleGeo = new THREE.CylinderGeometry(mm(11), mm(11), mm(60), 14).rotateX(Math.PI / 2); + const artGeo = merge([ + new THREE.BoxGeometry(mm(22), mm(E.l - 40), mm(18)).translate(0, mm(E.l / 2), 0), + new THREE.CylinderGeometry(mm(18), mm(18), mm(22), 16).rotateX(Math.PI / 2), + new THREE.CylinderGeometry(mm(22), mm(22), mm(26), 16).rotateX(Math.PI / 2).translate(0, mm(E.l), 0), + ]); + const rods = {}; + for (const row of ['rear', 'front']) { + const m = E.master[row]; + const mg = add(rowG[row], masterGeo, M.steel, 'crank'); + const knuckles = []; + for (const cy of ROWS[row]) { + if (cy.c === m) continue; + const k = add(mg, knuckleGeo, M.steelDark, 'crank'); + const d = (cy.angle - CYL[m - 1].angle) * D2R; + k.position.set(-Math.sin(d) * mm(E.rk), Math.cos(d) * mm(E.rk), 0); + knuckles.push(k); + } + const arts = {}; + for (const cy of ROWS[row]) if (cy.c !== m) arts[cy.c] = add(rowG[row], artGeo, M.steel, 'crank'); + rods[row] = {master: mg, arts}; + } + const pistons = CYL.map((cy) => { + const p = add(cylinders[cy.c - 1].g, pistonGeo, M.piston, 'crank'); + add(p, pinGeo, M.steelDark, 'crank'); + return p; + }); + + // ------------------------------------------------------------ the nose: reduction gear, magnetos, harness, propeller + add( + root, + latheZs([ + [246, 250], + [282, 282], + [300, 330], + [292, 400], + [252, 470], + [205, 540], + [165, 598], + [128, 640], + [0, 652], + ]), + M.case, + 'nose', + {glassable: true}, + ); + const gearG = new THREE.Group(); + gearG.position.z = mm(380); + root.add(gearG); + const RG = {sun: 72, ring: 88, module: 3.4}; // 72 / (72 + 88) = 0.45 [E: the layout] + const rpS = (RG.sun * RG.module) / 2; + const rpR = (RG.ring * RG.module) / 2; + const rpP = (rpR - rpS) / 2; + const sun = add(gearG, gearGeo(RG.sun, rpS, 34, 30), M.steel, 'prop'); + add(gearG, ringGearGeo(RG.ring, rpR, rpR + 16, 34), M.steelDark, 'prop'); + const carrier = new THREE.Group(); + gearG.add(carrier); + add(carrier, new THREE.CylinderGeometry(mm(rpR - 4), mm(rpR - 4), mm(10), 48).rotateX(Math.PI / 2).translate(0, 0, mm(26)), M.steelDark, 'prop'); + const planets = []; + for (let i = 0; i < 6; i++) { + const pg = add(carrier, gearGeo(8, rpP, 34, 0), M.steel, 'prop'); + const a = (i / 6) * Math.PI * 2; + pg.position.set(Math.cos(a) * mm(rpS + rpP), Math.sin(a) * mm(rpS + rpP), 0); + planets.push(pg); + } + // the propeller shaft (splined) and hub: they turn with the carrier + const propG = new THREE.Group(); + root.add(propG); + add(propG, tube(62, 600, 760, 32, false).rotateX(Math.PI / 2), M.steel, 'prop'); + add(propG, latheZs([[0, 720], [132, 722], [140, 760], [130, 830], [100, 880], [50, 905], [0, 910]], 48), M.hub, 'prop'); + const bladeGeo = (() => { + const R = PROP_D * 500; + const rows = 28; + const cols = 14; + const pos = []; + const col = []; + const idx = []; + const tipY = new THREE.Color('#d8a925'); + const blk = new THREE.Color('#1b1c1d'); + for (let i = 0; i <= rows; i++) { + const u = i / rows; + const r = 150 + (R - 150) * u; + const chord = u < 0.1 ? 120 + 1300 * u : 250 * (1 - 0.45 * Math.max(0, (u - 0.3) / 0.7) ** 1.4) + (u > 0.97 ? -1500 * (u - 0.97) : 0); + const thick = 60 * (1 - u) + 7; + const tw = (52 - 40 * u) * D2R; + const cc = (r > R - 120 ? tipY : blk).clone(); + for (let j = 0; j < cols; j++) { + const a = (j / cols) * Math.PI * 2; + const x = (Math.cos(a) * chord) / 2; + const z = (Math.sin(a) * thick) / 2; + pos.push(mm(x * Math.cos(tw) - z * Math.sin(tw)), mm(r), mm(x * Math.sin(tw) + z * Math.cos(tw))); + col.push(cc.r, cc.g, cc.b); + } + } + for (let i = 0; i < rows; i++) + for (let j = 0; j < cols; j++) { + const a = i * cols + j; + const b = i * cols + ((j + 1) % cols); + idx.push(a, b, a + cols, b, b + cols, a + cols); + } + const g = new THREE.BufferGeometry(); + g.setAttribute('position', new THREE.Float32BufferAttribute(pos, 3)); + g.setAttribute('color', new THREE.Float32BufferAttribute(col, 3)); + g.setIndex(idx); + g.computeVertexNormals(); + return g; + })(); + const blades = []; + for (let i = 0; i < 3; i++) { + const b = add(propG, bladeGeo, M.blade, 'prop'); + b.rotation.z = (i * 2 * Math.PI) / 3; + b.position.z = mm(790); + blades.push(b); + } + const blurDisc = add(root, new THREE.RingGeometry(mm(150), mm(PROP_D * 500 - 120), 96, 1), M.blur, 'prop', {cast: false, receive: false}); + const blurTip = add(blurDisc, new THREE.RingGeometry(mm(PROP_D * 500 - 120), mm(PROP_D * 500), 96, 1), M.blurTip, 'prop', {cast: false, receive: false}); + blurDisc.position.z = mm(790); + blurDisc.renderOrder = 3; + // two magnetos on the nose, their distributors turning at half crank speed + const magnetos = []; + for (const a of [-38, 38]) { + const g = new THREE.Group(); + const [x, y] = polar(a, 300, 0); + g.position.set(mm(x), mm(y), mm(360)); + g.rotation.z = a * D2R; + root.add(g); + add(g, new THREE.BoxGeometry(mm(92), mm(96), mm(128)).translate(0, mm(34), 0), M.caseDark, 'ign'); + const cap = add(g, new THREE.CylinderGeometry(mm(42), mm(46), mm(30), 24).translate(0, mm(96), 0), M.black, 'ign'); + const rotor = add(g, new THREE.BoxGeometry(mm(60), mm(6), mm(10)).translate(mm(16), mm(114), 0), M.steel, 'ign'); + void cap; + magnetos.push({g, rotor}); + } + // the harness ring and its 36 leads + add(root, new THREE.TorusGeometry(mm(302), mm(15), 12, 96), M.braid, 'ign').position.z = mm(268); + const plugAt = (cy, s) => { + // a plug's tip in world mm: s +1 front plug, -1 rear plug + const a = cy.angle; + const local = [30 * s, 476, 110 * s + 22 * s]; + const r = local[1]; + const t = (local[0] * Math.PI) / 180 / 4.76; // small tangential offset as an angle + void t; + const ang = a - (local[0] / r) * (180 / Math.PI); + return polar(ang, r, E.rowZ[cy.row] + local[2]); + }; + for (const cy of CYL) { + for (const s of [1, -1]) { + const p = plugAt(cy, s); + const a0 = cy.angle + (cy.row === 'front' ? 0 : 0); + const start = polar(a0, 302, 268); + let path; + if (cy.row === 'front' && s > 0) path = [start, polar(a0, 380, 262), polar(a0 - 3, 455, 245), p]; + else if (cy.row === 'front') path = [start, polar(a0 - 14, 360, 250), polar(a0 - 17, 440, 120), polar(a0 - 14, 470, 20), p]; + else if (s > 0) path = [start, polar(a0, 340, 240), polar(a0, 420, 130), polar(a0 - 3, 466, 30), p]; + else path = [start, polar(a0, 340, 240), polar(a0, 420, 130), polar(a0 - 13, 470, -60), polar(a0 - 9, 474, -180), p]; + add(root, curveTube(path, 5, 40, 6), M.braid, 'ign', {cast: false}); + } + } + + // ------------------------------------------------------------ the rear: supercharger, diffuser, 18 intake pipes, carburettor, accessories + add( + root, + latheZs([ + [0, -232], + [252, -232], + [318, -268], + [336, -300], + [330, -340], + [282, -400], + [272, -430], + [262, -520], + [248, -760], + [238, -1000], + [228, -1180], + [150, -1240], + [0, -1244], + ]), + M.case, + 'air', + {glassable: true}, + ); + const impG = new THREE.Group(); + impG.position.z = mm(-312); + root.add(impG); + add(impG, latheZ([[0, -26], [40, -26], [140, 10], [140, 16], [0, 16]], 40), M.alu, 'air'); + const vane = new THREE.BoxGeometry(mm(4), mm(98), mm(34)).translate(0, mm(90), 0); + for (let i = 0; i < 18; i++) { + const v = add(impG, vane, M.alu, 'air'); + v.rotation.z = (i / 18) * Math.PI * 2; + } + // the pipes: from the diffuser's outlets to each cylinder's inlet port + const pipeCurves = []; + for (const cy of CYL) { + const zr = E.rowZ[cy.row]; + const a = cy.angle; + const pts = [polar(a, 318, -300), polar(a, 400, -310), polar(a, 492, cy.row === 'front' ? -150 : zr - 175), polar(a, 522, zr - 128)]; + const c = new THREE.CatmullRomCurve3(pts.map((p) => new V3(mm(p[0]), mm(p[1]), mm(p[2])))); + pipeCurves.push(c); + add(root, new THREE.TubeGeometry(c, 40, mm(34), 14, false), M.black, 'air', {glassable: true}); + } + // carburettor on top of the rear case, the air scoop's throat + add(root, new THREE.BoxGeometry(mm(240), mm(150), mm(260)).translate(0, mm(330), mm(-560)), M.black, 'air'); + add(root, new THREE.BoxGeometry(mm(200), mm(60), mm(220)).translate(0, mm(430), mm(-560)), M.caseDark, 'air'); + // the starter at the very rear, a generator and pumps on their pads + add(root, latheZ([[0, -1244], [96, -1244], [100, -1300], [92, -1420], [60, -1450], [0, -1452]], 32), M.black, 'case'); + for (const [a, r, len] of [[120, 160, 230], [240, 160, 230], [180, 170, 180]]) { + const [x, y] = polar(a, r, 0); + add(root, new THREE.CylinderGeometry(mm(64), mm(64), mm(len), 24).rotateX(Math.PI / 2).translate(mm(x), mm(y), mm(-1240 - len / 2 + 30)), M.caseDark, 'case'); + } + // the oil system: pressure pump low at the rear, its line to the rear main bearing, the scavenge sump, the nose feed + add(root, new THREE.BoxGeometry(mm(150), mm(120), mm(170)).translate(0, mm(-250), mm(-760)), M.caseDark, 'oil'); + const oilLines = [ + [[0, -250, -680], [0, -238, -480], [0, -120, -300], [0, -40, -240]], + [[60, -262, -150], [50, -300, -400], [40, -300, -700], [40, -260, -760]], + [[-120, -230, 250], [-200, -250, 330], [-160, -230, 440], [-60, -120, 470]], + ]; + const oilCurves = oilLines.map((pts) => new THREE.CatmullRomCurve3(pts.map((p) => new V3(mm(p[0]), mm(p[1]), mm(p[2]))))); + for (const c of oilCurves) add(root, new THREE.TubeGeometry(c, 40, mm(11), 10, false), M.oil, 'oil'); + add(root, new THREE.BoxGeometry(mm(240), mm(60), mm(300)).translate(0, mm(-272), 0), M.caseDark, 'oil'); + + // ------------------------------------------------------------ baffles, cowling, the test stand + const baffleGeo = (() => { + const sh = new THREE.Shape(); + sh.moveTo(mm(-44), mm(420)); + sh.lineTo(mm(44), mm(420)); + sh.lineTo(mm(56), mm(560)); + sh.lineTo(mm(-56), mm(560)); + sh.closePath(); + return new THREE.ExtrudeGeometry(sh, {depth: mm(3), bevelEnabled: false}).translate(0, 0, -mm(1.5)).rotateY(Math.PI / 2); + })(); + for (const row of ['rear', 'front']) { + for (const cy of ROWS[row]) { + const b = add(rowG[row], baffleGeo, M.black, 'baffle'); + b.rotation.z = (cy.angle + 20) * D2R; + b.position.z = mm(E.rowZ[row]); + b.rotation.order = 'ZYX'; + b.scale.set(1, 1, 1); + } + } + const cowl = add( + root, + latheZ( + [ + [640, -300], + [668, -120], + [690, 120], + [700, 260], + [690, 330], + [655, 352], + [610, 340], + [612, 320], + [664, 300], + [672, 240], + [662, 120], + [636, -120], + [612, -298], + ], + 96, + ), + M.cowl, + 'cowl', + {glassable: true}, + ); + void cowl; + // the mount ring at the rear and a tubular run-up stand down to the concrete + add(root, new THREE.TorusGeometry(mm(352), mm(22), 12, 64).translate(0, 0, mm(-360)), M.stand, 'stand'); + const leg = (a, b) => { + const A = new V3(...a.map(mm)); + const B = new V3(...b.map(mm)); + const g = new THREE.CylinderGeometry(mm(24), mm(24), A.distanceTo(B), 12); + const m = add(root, g, M.stand, 'stand'); + m.position.copy(A).add(B).multiplyScalar(0.5); + m.quaternion.setFromUnitVectors(new V3(0, 1, 0), B.clone().sub(A).normalize()); + }; + const Fy = FLOOR_Y * 1000; + for (const s of [-1, 1]) { + leg([s * 300, -180, -360], [s * 700, Fy, -150]); + leg([s * 300, -180, -360], [s * 700, Fy, -1100]); + leg([s * 340, 60, -360], [s * 700, Fy + 900, -620]); + leg([s * 700, Fy, -150], [s * 700, Fy, -1100]); + } + leg([-700, Fy, -1100], [700, Fy, -1100]); + leg([-700, Fy, -150], [700, Fy, -150]); + + // ------------------------------------------------------------ the air and the oil, as particles along their paths + const dotGeo = new THREE.SphereGeometry(1, 10, 8); + const airDots = new THREE.InstancedMesh(dotGeo, new THREE.MeshBasicMaterial({color: ACCENT, transparent: true, opacity: 0.9, depthWrite: false}), 18 * 5 + 60); + airDots.frustumCulled = false; + airDots.renderOrder = 4; + root.add(airDots); + const oilDots = new THREE.InstancedMesh(dotGeo, new THREE.MeshBasicMaterial({color: '#d0902c', transparent: true, opacity: 0.95, depthWrite: false}), 3 * 10); + oilDots.frustumCulled = false; + oilDots.renderOrder = 4; + root.add(oilDots); + // the charge's path inside the rear case: the carburettor's throat down to the impeller's eye, out to the diffuser + const throat = new THREE.CatmullRomCurve3([new V3(0, 0.33, -0.56), new V3(0, 0.22, -0.48), new V3(0, 0.06, -0.4), new V3(0, 0.0, -0.33)]); + + // ------------------------------------------------------------ anchors for the callouts (world, metres) + const top = CYL[0]; + const front1 = CYL[1]; + const A = { + head: () => cylinders[0].g.localToWorld(new V3(0, mm(560), 0)), + fins: () => cylinders[0].g.localToWorld(new V3(mm(-100), mm(360), 0)), + headFront: () => cylinders[1].g.localToWorld(new V3(0, mm(540), mm(30))), + pushrod: () => cylinders[1].g.localToWorld(new V3(mm(18), mm(400), mm(124))), + harness: () => new V3(...polar(-60, 302, 268).map(mm)), + magneto: () => magnetos[1].g.localToWorld(new V3(0, mm(60), 0)), + nose: () => new V3(0, mm(250), mm(520)), + hub: () => new V3(0, 0, mm(900)), + blade: () => blades[0].localToWorld(new V3(0, 1.4, 0)), + pipe: () => pipeCurves[8].getPoint(0.55), + carb: () => new V3(0, mm(410), mm(-560)), + starter: () => new V3(0, 0, mm(-1440)), + impeller: () => impG.localToWorld(new V3(0, mm(120), 0)), + camRing: (row = 'front') => camRings[row].localToWorld(new V3(mm(-100), mm(-100), 0)), + master: (row = 'front') => rods[row].master.localToWorld(new V3(0, mm(150), 0)), + art: (row, c) => rods[row].arts[c].localToWorld(new V3(0, mm(E.l * 0.5), 0)), + pin: (row = 'front') => crank[row].localToWorld(new V3(0, mm(E.r * (row === 'rear' ? 1 : -1)), mm(-44))), + piston: (c) => pistons[c - 1].localToWorld(new V3(0, mm(66), 0)), + tappet: (c, ev) => train[c - 1][ev].tp.localToWorld(new V3(0, mm(40), 0)), + rocker: (c, ev) => train[c - 1][ev].rk.localToWorld(new V3(0, 0, mm(30))), + valve: (c, ev) => train[c - 1][ev].v.localToWorld(new V3(0, mm(470), 0)), + gear: () => gearG.localToWorld(new V3(mm(-90), mm(90), 0)), + oilPump: () => new V3(0, mm(-250), mm(-760)), + sump: () => new V3(mm(100), mm(-280), 0), + baffle: () => cylinders[4].g.localToWorld(new V3(mm(120), mm(520), 0)), + cowl: () => new V3(mm(-600), mm(330), mm(300)), + cylAt: (c, y = 520) => cylinders[c - 1].g.localToWorld(new V3(0, mm(y), 0)), + }; + void top; + void front1; + + // ------------------------------------------------------------ cutaways and visibility + const ghostOf = new Map(); + const ghost = (mat) => { + let g = ghostOf.get(mat); + if (!g) { + g = mat.clone(); + g.transparent = true; + g.depthWrite = false; + g.clipShadows = true; + ghostOf.set(mat, g); + } + return g; + }; + const cut = {mode: 'solid', glass: false}; + const all = Object.values(parts).flat(); + const allMats = new Set(); + for (const m of all) allMats.add(m.material); + for (const m of Object.values(M)) allMats.add(m); + const setCut = (mode, plane) => { + cut.mode = mode; + if (plane) CLIP[0].copy(plane); + const planes = mode === 'section' ? CLIP : null; + for (const mat of [...allMats, ...ghostOf.values()]) { + mat.clippingPlanes = planes; + mat.needsUpdate = true; + } + }; + + // ------------------------------------------------------------ pose everything from the crank angle + const tmp = new V3(); + const m4 = new THREE.Matrix4(); + const q = new THREE.Quaternion(); + const sc = new V3(); + const up = new V3(0, 1, 0); + /** + * fx: th (crank °), vis {group: 0..1 opacity}, glass (bool: case, barrels, heads, pipes as glass), apart (0..1), + * glow[18] (the flame in each chamber, 0..1), headGlow[18], camHi[18] ({in, ex} 0..1 accent on the tappet and tube), + * blur (propeller blur 0..1), air (phase), airK (0..1), oil (phase), oilK (0..1) + */ + const update = (fx) => { + const th = fx.th; + const vis = fx.vis || {}; + // groups' visibility: 1 is the part's own material, 0 is hidden, between is a ghost + for (const g of GROUPS) { + const v = vis[g] ?? 1; + for (const m of parts[g]) { + if (v <= 0.01) { + m.visible = false; + continue; + } + const vf = fx.focus && m.userData.cyl && m.userData.cyl !== fx.focus && !m.userData.keep ? v * (1 - (fx.focusK ?? 1)) : v; + if (vf <= 0.01) { + m.visible = false; + continue; + } + m.visible = true; + if (m.userData.isFlame) continue; + const base = m.userData.mat; + if (m.userData.glassable && fx.glass) m.material = M.glass; + else if (m.userData.ownMat) { + m.material = base; + base.transparent = vf < 0.99; + base.depthWrite = vf >= 0.99; + base.opacity = vf; + } else if (vf < 0.99) { + const gm = ghost(base); + gm.opacity = vf; + m.material = gm; + } else m.material = base; + } + } + const apart = fx.apart || 0; + rowG.front.position.z = apart * 0.2; + rowG.rear.position.z = -apart * 0.14; + rowG.rear.visible = (fx.hideRear || 0) < 0.5; + // crank + crank.rear.rotation.z = th * D2R; + crank.front.rotation.z = th * D2R; + // rods and pistons, from the exact geometry of the master and articulated rods + for (const row of ['rear', 'front']) { + const P = rowPose(row, th); + const z = mm(E.rowZ[row]); + const R = rods[row]; + R.master.position.set(mm(-P.C[0]), mm(P.C[1]), z); + R.master.rotation.z = Math.atan2(P.d[0], P.d[1]); + for (const cy of ROWS[row]) { + const x = P.cyl[cy.c]; + pistons[cy.c - 1].position.y = mm(x.s); + if (x.master) continue; + const art = R.arts[cy.c]; + const dx = x.P[0] - x.K[0]; + const dy = x.P[1] - x.K[1]; + art.position.set(mm(-x.K[0]), mm(x.K[1]), z); + art.rotation.z = Math.atan2(dx, dy); + } + } + // the cam rings turn against the crank at 1/8; tappets ride their lobes, rockers and valves follow + for (const row of ['rear', 'front']) camRings[row].rotation.z = th * CAM.ratio * D2R; + for (const C of cylinders) { + const c = C.cy.c; + for (const ev of ['in', 'ex']) { + const T = train[c - 1][ev]; + const L = lift(c, ev, th); + T.tp.position.y = mm(152 + 12 * L); + T.v.position.y = mm(-CAM.liftMm * L); + T.rk.rotation.x = L * 0.2 * (ev === 'in' ? -1 : 1); + const hi = fx.camHi ? fx.camHi[c - 1]?.[ev] || 0 : 0; + if (hi > 0.05) { + T.tp.material = M.accent; + T.v.material = M.accent; + } + } + const glow = fx.glow ? fx.glow[c - 1] : 0; + C.flame.material.opacity = Math.min(0.85, glow) * (vis.cyl ?? 1); + C.flame.visible = glow > 0.01 && (vis.cyl ?? 1) > 0.01 && (!fx.focus || fx.focus === c || (fx.focusK ?? 1) < 0.5); + const hg = fx.headGlow ? fx.headGlow[c - 1] : 0; + if (C.head.material !== M.glass) C.head.material.emissiveIntensity = 0.95 * hg; + } + // the reduction gear: the sun on the crank, the ring fixed, the carrier (and the propeller) at 0.45 + const prop = th * GEAR.prop; + sun.rotation.z = th * D2R; + carrier.rotation.z = prop * D2R; + // a pinion rolling on the fixed ring: its spin relative to the carrier is -(R/p) times the carrier's turn + for (const p of planets) p.rotation.z = (-(rpR / rpP) * prop) * D2R; + propG.rotation.z = (prop + (fx.propOff ?? PROP_OFF)) * D2R; + const blur = fx.blur || 0; + const bo = (1 - blur) * (vis.prop ?? 1); + for (const b of blades) { + b.visible = bo > 0.02; + if (b.visible) { + const gm = bo < 0.99 ? ghost(M.blade) : M.blade; + gm.opacity = bo; + b.material = gm; + } + } + blurDisc.visible = blur > 0.01 && (vis.prop ?? 1) > 0.01; + blurDisc.material.opacity = blur * 0.32 * (vis.prop ?? 1); + blurTip.visible = blurDisc.visible; + blurTip.material.opacity = blur * 0.45 * (vis.prop ?? 1); + blurDisc.rotation.z = prop * D2R; + impG.rotation.z = th * GEAR.impLow * D2R; + for (const mg of magnetos) mg.rotor.rotation.y = th * 0.5 * D2R; + // the charge: dots down the throat, through the impeller, out along every pipe + const airK = fx.airK || 0; + airDots.visible = airK > 0.01; + if (airDots.visible) { + let n = 0; + const ph = fx.air || 0; + const s = 0.011 * airK; + for (let i = 0; i < 18; i++) { + for (let j = 0; j < 5; j++) { + const u = (((j / 5 + ph + i * 0.137) % 1) + 1) % 1; + pipeCurves[i].getPoint(u, tmp); + m4.compose(tmp, q, sc.set(s, s, s)); + airDots.setMatrixAt(n++, m4); + } + } + for (let j = 0; j < 60; j++) { + const u = (((j / 60 + ph * 3) % 1) + 1) % 1; + if (u < 0.5) throat.getPoint(u * 2, tmp); + else { + const a = j * 2.4 + ph * 20; + const r = 0.04 + (u - 0.5) * 0.58; + tmp.set(Math.cos(a) * r, Math.sin(a) * r, -0.31); + } + m4.compose(tmp, q, sc.set(s, s, s)); + airDots.setMatrixAt(n++, m4); + } + airDots.instanceMatrix.needsUpdate = true; + airDots.material.opacity = 0.9 * airK; + } + const oilK = fx.oilK || 0; + oilDots.visible = oilK > 0.01; + M.oil.emissiveIntensity = 0.6 * oilK; + if (oilDots.visible) { + let n = 0; + for (let i = 0; i < 3; i++) + for (let j = 0; j < 10; j++) { + const u = (((j / 10 + (fx.oil || 0)) % 1) + 1) % 1; + oilCurves[i].getPoint(u, tmp); + m4.compose(tmp, q, sc.set(0.014, 0.014, 0.014)); + oilDots.setMatrixAt(n++, m4); + } + oilDots.instanceMatrix.needsUpdate = true; + oilDots.material.opacity = oilK; + } + void up; + void lobeOffset; + }; + + return {root, update, setCut, CLIP, A, parts, M, cylinders, rods, pistons, crank, camRings, blades, rowG, plugAt, cut, FLOOR_Y}; +} diff --git a/machines/radial/r2800-shared/schedule.js b/machines/radial/r2800-shared/schedule.js new file mode 100644 index 0000000..eb0fc8b --- /dev/null +++ b/machines/radial/r2800-shared/schedule.js @@ -0,0 +1,168 @@ +// The film's operator script and its one input. A run of the engine is planned once in physical time τ (s): the +// starter, the ignition, the first firings missed then caught, idle, the climb to take-off rpm, the throttle back. +// The film plays it through a slow-motion map τ(t). The crank angle θ is integrated from the rpm once, at load, and +// every pose, valve, spark, gauge and sound of the film is read from θ(t). No three.js: node imports it for the +// timeline and the score. +import {FIRE, ORDER, RATING, SPARK_ADV, stateAt} from './engine.js'; + +export const DURATION = 40; +export const FPS_TABLE = 1200; // table rate, samples per second of film + +// operator moves: views and the buttons the cursor presses +export const SCRIPT = [ + {t: 0, cam: 'hero'}, + {t: 1.6, press: 'starter'}, + {t: 3.3, press: 'ignition'}, + {t: 6.4, cam: 'face'}, + {t: 12.6, cam: 'rowcut'}, + {t: 18.6, cam: 'apart'}, + {t: 23.6, cam: 'cam'}, + {t: 28.4, cam: 'takeoff', press: 'throttle'}, + {t: 32.6, cam: 'faceFull'}, + {t: 35.4, cam: 'heroEnd', press: 'throttleBack'}, +]; +export const BEATS = SCRIPT.filter((e) => e.t > 0).map((e) => e.t); +export const camAtName = (t) => SCRIPT.filter((e) => e.cam && e.t <= t).pop().cam; +export const camSince = (t) => t - SCRIPT.filter((e) => e.cam && e.t <= t).pop().t; + +const smoother = (x) => { + const u = Math.min(1, Math.max(0, x)); + return u * u * u * (u * (u * 6 - 15) + 10); +}; +// slow motion: τ seconds per film second, eased between keys in log space +const RATE = [ + [0, 1], + [6.4, 1], + [7.6, 1 / 25], + [12.6, 1 / 25], + [13.4, 1 / 40], + [23.6, 1 / 40], + [24.4, 1 / 14], + [28.4, 1 / 14], + [29.6, 1], + [DURATION, 1], +]; +export const rateAt = (t) => { + let i = 0; + while (i < RATE.length - 2 && t >= RATE[i + 1][0]) i++; + const [t0, a] = RATE[i]; + const [t1, b] = RATE[i + 1]; + const k = smoother((t - t0) / (t1 - t0)); + return Math.exp(Math.log(a) + (Math.log(b) - Math.log(a)) * k); +}; + +// ------------------------------------------------------------ the tables: τ(t), then N(τ), θ, the air +const NT = Math.ceil(DURATION * FPS_TABLE) + 2; +const TAU = new Float64Array(NT); +for (let i = 1; i < NT; i++) { + const t = (i - 0.5) / FPS_TABLE; + TAU[i] = TAU[i - 1] + rateAt(t) / FPS_TABLE; +} +const lerpT = (arr, t) => { + const x = Math.min(NT - 1.001, Math.max(0, t * FPS_TABLE)); + const i = Math.floor(x); + return arr[i] + (arr[i + 1] - arr[i]) * (x - i); +}; +export const tauAt = (t) => lerpT(TAU, t); + +// the run, in physical seconds, keyed to the film's beats +export const RUN = (() => { + const s = tauAt(1.6); + const ign = tauAt(3.3); + return { + starter: s, // the starter engages + ign, // magnetos on + catch0: ign + 0.25, // the first firings, mostly missed + catch1: ign + 1.05, // every cylinder firing + disengage: ign + 1.3, // the starter lets go + climb: tauAt(29.7), // the throttle opens + climbLen: 3.0, + back: tauAt(35.6), // the throttle closes + backLen: 3.0, + }; +})(); +const {idle, crank} = RATING; +const TO = RATING.takeoff.rpm; +/** the planned engine speed (rpm) at physical time τ */ +export const rpmAtTau = (tau) => { + const R = RUN; + let N = crank * smoother((tau - R.starter) / 1.0); + // caught: a flare to ~1,050 rpm, then idle + const up = smoother((tau - (R.ign + 0.85)) / 1.0); + const settle = smoother((tau - (R.ign + 1.85)) / 1.15); + N += up * (1050 - crank) - settle * (1050 - idle); + N += smoother((tau - R.climb) / R.climbLen) * (TO - idle); + N -= smoother((tau - R.back) / R.backLen) * (TO - idle); + return Math.max(0, N); +}; +/** 0 on the starter, 1 when every cylinder fires and the engine carries itself */ +export const runAtTau = (tau) => smoother((tau - (RUN.ign + 0.6)) / 1.0); +/** the chance that a spark lights its charge, while the engine catches */ +export const catchAtTau = (tau) => (tau < RUN.ign ? 0 : 0.12 + 0.88 * smoother((tau - RUN.catch0) / (RUN.catch1 - RUN.catch0))); +export const starterAtTau = (tau) => (tau >= RUN.starter && tau < RUN.disengage ? 1 : 0); + +const TH = new Float64Array(NT); // crank angle, degrees +const AIR = new Float64Array(NT); // the charge carried down the pipes, in turns of a pipe (for the particles) +const THETA0 = 6; +TH[0] = THETA0; +for (let i = 1; i < NT; i++) { + const tau = (TAU[i] + TAU[i - 1]) / 2; + const dtau = TAU[i] - TAU[i - 1]; + const N = rpmAtTau(tau); + TH[i] = TH[i - 1] + N * 6 * dtau; + const st = stateAt(N, runAtTau(tau)); + AIR[i] = AIR[i - 1] + (N / 60) * (st.map / 29.92) * dtau * 0.2; +} +export const thetaAt = (t) => lerpT(TH, t); +export const airAt = (t) => lerpT(AIR, t); +export const rpmAt = (t) => rpmAtTau(tauAt(t)); +/** film time at which the crank reaches th (θ is monotone) */ +export const tAtTheta = (th) => { + if (th <= TH[0]) return 0; + let lo = 0; + let hi = NT - 1; + if (th >= TH[hi]) return DURATION; + while (hi - lo > 1) { + const mid = (lo + hi) >> 1; + if (TH[mid] < th) lo = mid; + else hi = mid; + } + const f = (th - TH[lo]) / Math.max(1e-9, TH[hi] - TH[lo]); + return (lo + f) / FPS_TABLE; +}; + +// ------------------------------------------------------------ the sparks +const hash = (n) => { + const x = Math.sin(n * 127.1 + 311.7) * 43758.5453; + return x - Math.floor(x); +}; +const IDX = Object.fromEntries(ORDER.map((c, i) => [c, i])); +/** spark number m of cylinder c (m-th cycle): its crank angle */ +const sparkTheta = (c, m) => FIRE[c] - SPARK_ADV + 720 * m; +/** does spark (c, m) light its charge? the ignition must be on and the engine catching */ +export const firesAt = (c, m, tau) => hash(m * 18 + IDX[c] + 7) < catchAtTau(tau); +/** the last spark of cylinder c at film time t: when it was (film s), whether it lit, its crank angle */ +export function lastSpark(c, t) { + const th = thetaAt(t); + const m = Math.floor((th - (FIRE[c] - SPARK_ADV)) / 720); + const ths = sparkTheta(c, m); + const ts = tAtTheta(ths); + const tau = tauAt(ts); + return {t: ts, th: ths, lit: tau >= RUN.ign && firesAt(c, m, tau), m}; +} +/** every spark of the film after the ignition, for the score: [t, cylinder, lit] */ +export function sparkList() { + const out = []; + const th1 = TH[NT - 1]; + for (const c of ORDER) { + for (let m = -1; sparkTheta(c, m) < th1; m++) { + const ths = sparkTheta(c, m); + if (ths < TH[0]) continue; + const t = tAtTheta(ths); + const tau = tauAt(t); + if (tau < RUN.ign) continue; + out.push([+t.toFixed(4), c, firesAt(c, m, tau) ? 1 : 0]); + } + } + return out.sort((a, b) => a[0] - b[0]); +} diff --git a/machines/radial/r2800-shared/score.py b/machines/radial/r2800-shared/score.py new file mode 100644 index 0000000..6990726 --- /dev/null +++ b/machines/radial/r2800-shared/score.py @@ -0,0 +1,129 @@ +"""Score for Radial (an R-2800 Double Wasp after public sources), every sound on the film's own timeline. + +The starter whines up and settles on A4 (the one key, D minor, that every tonal sound keeps: the starter, the low +drone, the click); the first sparks after the magnetos come on are coughs, the missed ones silent (events.json lists +every spark, lit or not, from the same schedule the film draws). Once the engine runs, each firing is a dull thud +while they come slower than ~12 a second on screen (the slow-motion stretches); faster, they merge into a growl +whose pulse is the firing rate on screen, 9 a turn, with the half- and first-order beats under it. The propeller's +wash rises with its speed. A quiet click on each button the tour's cursor presses. + + node r2800-shared/make-timeline.mjs && python3 "$SKILL_DIR/run_sfx.py" r2800-shared/score.py +""" + +import json +import math +import os +import random + +from sfx.dsp import svf, zeros +from sfx.score_kit import airy, bang, hz, thud +from sfx.synth import SR, bandnoise, click + +TIMELINE = "../r2800-film/timeline.json" +OUT = os.path.join(os.environ.get("TEARDOWN_OUT", "teardown-out"), "radial-score.wav") +TARGET_LUFS = -14.0 +SEED = 2800 +HERE = os.path.dirname(os.path.abspath(__file__)) + + +def smooth(a, b, x): + u = min(1.0, max(0.0, (x - a) / (b - a))) + return u * u * (3 - 2 * u) + + +def score(mix, tl): + dur = tl["duration"] + b = tl["beats"] + with open(os.path.join(HERE, "../r2800-film/events.json"), encoding="utf8") as f: + ev = json.load(f) + rate = ev["rate"] + S = ev["samples"] # rpm, slow, map, fireHzScreen, theta + n = int(dur * SR) + + def at(t, i): + x = min(len(S) - 1.001, max(0.0, t * rate)) + k = int(x) + return S[k][i] + (S[k + 1][i] - S[k][i]) * (x - k) + + # ---------------------------------------------------------------- the low drone: D, very quiet, the whole way + drone = zeros(n) + f0 = hz("D2") + for k in range(n): + t = k / SR + env = min(1.0, t / 2.0, (dur - t) / 2.5) + drone[k] = env * (math.sin(2 * math.pi * f0 * t) + 0.5 * math.sin(2 * math.pi * f0 * 1.5 * t + 0.4 * math.sin(0.3 * t)) + 0.3 * math.sin(2 * math.pi * f0 * 2 * t)) + drone = svf(drone, 500, 0.6, "lp") + mix.put(0, drone, 0.05) + + # ---------------------------------------------------------------- the starter: a whine up to A4, then it lets go + t0 = b["starter"] + t1 = b["disengage"] + m = int((t1 - t0 + 0.6) * SR) + whine = [] + ph = 0.0 + for k in range(m): + t = t0 + k / SR + spin = smooth(t0, t0 + 1.0, t) if t < t1 else max(0.0, 1 - (t - t1) / 0.6) + f = hz("A4") * (0.25 + 0.75 * spin) + ph += 2 * math.pi * f / SR + g = spin * (1 if t < t1 else 0.8) + whine.append(g * (math.sin(ph) * 0.6 + 0.25 * math.sin(2 * ph) + 0.12 * math.sin(3 * ph))) + mix.put(t0, svf(whine, 2400, 0.7, "lp"), 0.06) + mix.put(t0, airy(t1 - t0 + 0.4, 300, 900, 0.5), 0.02) + + # ---------------------------------------------------------------- sparks: coughs while it catches, thuds in slow motion + rnd = random.Random(SEED) + catch_end = b["disengage"] + 0.6 + for t, c, lit in ev["sparks"]: + if t >= dur - 0.05: + continue + fire = at(t, 3) + if t < catch_end: + if lit: + mix.put(t, bang(0.5 + 0.5 * rnd.random(), seed=int(t * 1000)), 0.11 * (0.6 + 0.4 * rnd.random()), rnd.uniform(-0.25, 0.25)) + continue + g = 1 - smooth(8, 18, fire) + if g > 0.01: + mix.put(t, thud(54 + 6 * (c % 3), 0.07, 0.32), 0.16 * g, 0.12 if c % 2 else -0.12) + + # ---------------------------------------------------------------- the growl: the firings merged, pulse = their rate on screen + growl = zeros(n) + ph = 0.0 + phc = 0.0 + for k in range(n): + t = k / SR + fire = at(t, 3) + level = smooth(10, 30, fire) + if fire <= 0.5: + continue + ph += 2 * math.pi * fire / SR + phc += 2 * math.pi * fire / 9 / SR + # a pulse train at the firing rate, the first and half orders under it (rows and rods not quite alike) + p = math.sin(ph) + 0.5 * math.sin(2 * ph) + 0.25 * math.sin(3 * ph) + p *= 0.75 + 0.25 * math.sin(phc) + 0.12 * math.sin(phc / 2) + sub = math.sin(phc) * 0.6 + math.sin(phc / 2) * 0.35 + growl[k] = level * (math.tanh(1.4 * p) * 0.7 + sub) + growl = svf(growl, 900, 0.7, "lp") + mix.put(0, growl, 0.11) + # the exhaust's grit over it: band noise opening with the rpm + grit = bandnoise(n, lambda k: 300 + 1.1 * at(k / SR, 0) * at(k / SR, 1), q=0.6) + for k in range(n): + t = k / SR + grit[k] *= smooth(10, 30, at(t, 3)) * (0.3 + 0.7 * min(1.0, at(t, 0) / 2700)) + mix.put(0, grit, 0.05) + + # ---------------------------------------------------------------- the propeller's wash: air, rising with its speed, blade-pass beat + wash = bandnoise(n, lambda k: 700 + 500 * min(1.0, at(k / SR, 0) / 2700), q=0.5) + php = 0.0 + for k in range(n): + t = k / SR + N = at(t, 0) * at(t, 1) + bpf = 3 * N * 0.45 / 60 + php += 2 * math.pi * bpf / SR + lvl = (min(1.0, N / 2700)) ** 2 + wash[k] *= lvl * (0.8 + 0.2 * math.sin(php)) + mix.put(0, wash, 0.09) + + # ---------------------------------------------------------------- the cursor's clicks + for t in b["views"]: + mix.put(t, click(2200, 0.03), 0.05) diff --git a/machines/radial/r2800-shared/stage.js b/machines/radial/r2800-shared/stage.js new file mode 100644 index 0000000..f3d77c2 --- /dev/null +++ b/machines/radial/r2800-shared/stage.js @@ -0,0 +1,218 @@ +// Radial's stage: a 1940s airfield under a white overcast. A sky dome pale at the zenith (#e4ebf0) down to a warm, +// light horizon; a light concrete apron in 5 m slabs fading into the haze; a hard outdoor sun from the upper left +// with a crisp shadow on the concrete; a pale sky fill. frame(fx, cam) poses the engine and draws one frame. +import * as THREE from 'three'; +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 {Pass} from 'three/addons/postprocessing/Pass.js'; +import {RenderPass} from 'three/addons/postprocessing/RenderPass.js'; +import {buildEngine, FLOOR_Y} from './model.js'; + +const V3 = THREE.Vector3; +export const SKY = {zenith: '#e4ebf0', mid: '#edf0f0', horizon: '#f3ece1', ground: '#e6dfd3'}; + +function skyDome() { + const mat = new THREE.ShaderMaterial({ + side: THREE.BackSide, + depthWrite: false, + fog: false, + uniforms: { + zen: {value: new THREE.Color(SKY.zenith)}, + mid: {value: new THREE.Color(SKY.mid)}, + hor: {value: new THREE.Color(SKY.horizon)}, + gnd: {value: new THREE.Color(SKY.ground)}, + }, + vertexShader: 'varying vec3 vD; void main(){ vD = normalize(position); gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); gl_Position.z = gl_Position.w; }', + fragmentShader: + 'uniform vec3 zen; uniform vec3 mid; uniform vec3 hor; uniform vec3 gnd; varying vec3 vD;' + + 'void main(){ float y = vD.y; vec3 c;' + + ' if (y > 0.0) { float a = clamp(y / 0.18, 0.0, 1.0); float b = clamp((y - 0.18) / 0.6, 0.0, 1.0); c = mix(mix(hor, mid, a), zen, b); }' + + ' else { c = mix(hor, gnd, clamp(-y / 0.08, 0.0, 1.0)); }' + + ' gl_FragColor = vec4(c, 1.0); }', + }); + const m = new THREE.Mesh(new THREE.SphereGeometry(80, 32, 16), mat); + m.frustumCulled = false; + m.renderOrder = -10; + return m; +} +function concreteTexture() { + const c = document.createElement('canvas'); + c.width = c.height = 512; + const g = c.getContext('2d'); + g.fillStyle = '#d9d3c8'; + g.fillRect(0, 0, 512, 512); + // a fixed speckle (a seeded generator: the texture is the same every load) + let s = 7; + const r = () => ((s = (s * 16807) % 2147483647) / 2147483647); + for (let i = 0; i < 9000; i++) { + const v = 190 + Math.floor(r() * 40); + g.fillStyle = `rgba(${v},${v - 4},${v - 12},${0.25 + r() * 0.3})`; + g.fillRect(r() * 512, r() * 512, 1 + r() * 2, 1 + r() * 2); + } + for (let i = 0; i < 14; i++) { + g.fillStyle = `rgba(150,140,125,${0.04 + r() * 0.05})`; + g.beginPath(); + g.ellipse(r() * 512, r() * 512, 20 + r() * 70, 10 + r() * 40, r() * 3, 0, Math.PI * 2); + g.fill(); + } + // the joints of a slab + g.strokeStyle = 'rgba(140,132,120,0.3)'; + g.lineWidth = 2.5; + g.strokeRect(1.5, 1.5, 509, 509); + const t = new THREE.CanvasTexture(c); + t.wrapS = t.wrapT = THREE.RepeatWrapping; + t.repeat.set(16, 16); + t.anisotropy = 8; + t.colorSpace = THREE.SRGBColorSpace; + return t; +} + +export function createStage({canvas}) { + const renderer = new THREE.WebGLRenderer({canvas, antialias: false, preserveDrawingBuffer: true, powerPreference: 'high-performance'}); + renderer.toneMapping = THREE.NeutralToneMapping; + renderer.outputColorSpace = THREE.SRGBColorSpace; + renderer.shadowMap.enabled = true; + renderer.shadowMap.type = THREE.PCFShadowMap; + renderer.localClippingEnabled = true; + const scene = new THREE.Scene(); + scene.background = new THREE.Color(SKY.horizon); + scene.fog = new THREE.Fog(SKY.horizon, 14, 46); + const sky = skyDome(); + scene.add(sky); + const camera = new THREE.PerspectiveCamera(26, 16 / 9, 0.02, 120); + 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.65; + gtao.updateGtaoMaterial({radius: 0.07, distanceExponent: 1.4, thickness: 0.6, scale: 1.0, samples: 16, distanceFallOff: 1.0, screenSpaceRadius: false}); + gtao.updatePdMaterial({lumaPhi: 10, depthPhi: 2, normalPhi: 3, radius: 6, rings: 2, samples: 16}); + class Toggle extends Pass { + constructor(fn) { + super(); + this.needsSwap = false; + this.fn = fn; + } + render() { + this.fn(); + } + } + const aoSkip = (on) => { + sky.visible = on; + floor.visible = on; + }; + composer.addPass(new Toggle(() => aoSkip(false))); + composer.addPass(gtao); + composer.addPass(new Toggle(() => aoSkip(true))); + composer.addPass(new OutputPass()); + + // an overcast sky for the metal to reflect: bright above, the warm apron below, a brighter patch toward the sun + { + const env = new THREE.Scene(); + env.background = new THREE.Color('#d6dbde'); + const box = (w, h, pos, color, k) => { + const m = new THREE.Mesh(new THREE.PlaneGeometry(w, h), new THREE.MeshBasicMaterial({color: new THREE.Color(color).multiplyScalar(k), side: THREE.DoubleSide})); + m.position.copy(pos); + m.lookAt(0, 0, 0); + env.add(m); + }; + box(30, 30, new V3(0, 16, 0), '#eef2f5', 2.2); + box(10, 8, new V3(-12, 9, 6), '#ffffff', 3.0); + box(30, 4, new V3(0, 1, -16), '#f2ece2', 1.3); + box(30, 4, new V3(0, 1, 16), '#f2ece2', 1.3); + const g = new THREE.Mesh(new THREE.CircleGeometry(40, 32), new THREE.MeshBasicMaterial({color: '#bdb6aa', side: THREE.DoubleSide})); + g.rotation.x = -Math.PI / 2; + g.position.y = -3; + env.add(g); + const pm = new THREE.PMREMGenerator(renderer); + scene.environment = pm.fromScene(env, 0.03).texture; + scene.environmentIntensity = 0.75; + pm.dispose(); + } + const sun = new THREE.DirectionalLight('#fffaf0', 3.0); + sun.position.set(-4.2, 7.5, 3.4); + sun.target.position.set(0, -0.6, -0.2); + sun.castShadow = true; + Object.assign(sun.shadow.camera, {left: -3.2, right: 3.2, top: 3.2, bottom: -3.2, near: 2, far: 20}); + sun.shadow.mapSize.set(4096, 4096); + sun.shadow.bias = -0.0003; + sun.shadow.normalBias = 0.012; + scene.add(sun, sun.target); + scene.add(new THREE.HemisphereLight('#eaf0f4', '#cbbfae', 0.9)); + + const floor = new THREE.Mesh(new THREE.PlaneGeometry(120, 120), new THREE.MeshStandardMaterial({color: '#ffffff', map: concreteTexture(), roughness: 0.92, metalness: 0})); + floor.rotation.x = -Math.PI / 2; + floor.position.y = FLOOR_Y; + floor.receiveShadow = true; + floor.material.map.repeat.set(24, 24); + scene.add(floor); + + const eng = buildEngine(); + scene.add(eng.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; + // cam: target (tx, ty, tz), azimuth from +z toward +x, elevation, distance (radians, metres), sx/sy screen shift + const frame = (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.fov = cam.fov ?? 26; + camera.near = Math.max(0.01, d * 0.03); + camera.updateProjectionMatrix(); + camera.setViewOffset(size.w, size.h, -(cam.sx ?? 0), -(cam.sy ?? 0), size.w, size.h); + camera.updateMatrixWorld(); + sky.position.copy(camera.position); + gtao.enabled = aoWanted && eng.cut.mode !== 'section' && !fx.glass; + eng.update(fx); + composer.render(); + }; + const pv = new V3(); + const project = (p) => { + if (!p) return null; + 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}) => { + if (samples !== undefined) { + for (const t of [composer.renderTarget1, composer.renderTarget2]) { + t.samples = samples; + t.dispose(); + } + } + if (ao !== undefined) aoWanted = ao; + if (shadow !== undefined) { + sun.shadow.mapSize.set(shadow, shadow); + sun.shadow.map?.dispose(); + sun.shadow.map = null; + } + }; + // the section plane: n·x + c ≥ 0 is kept + const planes = { + rowcut: new THREE.Plane(new V3(0, 0, -1), 0.105), + profile: new THREE.Plane(new V3(-1, 0, 0), 0), + inside: new THREE.Plane(new V3(-1, 0, 0), 0), + }; + let cutKey = ''; + const setCut = (mode, planeKey = 'profile') => { + const key = mode + ':' + planeKey; + if (key === cutKey) return; + cutKey = key; + eng.setCut(mode, planes[planeKey]); + }; + setCut('solid'); + return {renderer, scene, camera, eng, composer, gtao, sun, resize, frame, project, size, setQuality, setCut, planes}; +} diff --git a/package-lock.json b/package-lock.json index b4c6f1b..17297ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,8 +10,10 @@ "license": "MIT", "dependencies": { "@fontsource-variable/inter": "5.3.0", + "@fontsource/barlow-condensed": "5.3.0", "@fontsource/instrument-serif": "^5.3.0", "@fontsource/jetbrains-mono": "5.3.0", + "@fontsource/saira-stencil-one": "5.3.0", "esbuild": "0.28.1", "three": "0.186.1" } @@ -441,6 +443,15 @@ "url": "https://github.com/sponsors/ayuhito" } }, + "node_modules/@fontsource/barlow-condensed": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource/barlow-condensed/-/barlow-condensed-5.3.0.tgz", + "integrity": "sha512-RA7MmIx0v3eQ6Gcf74qLVLOwLB0GpPOzx+eU9iG/AmCnSJGcIWYeU8y6CEMGZ210MGwGg5CZhzLkkvyZdTTk1g==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, "node_modules/@fontsource/instrument-serif": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/@fontsource/instrument-serif/-/instrument-serif-5.3.0.tgz", @@ -459,6 +470,15 @@ "url": "https://github.com/sponsors/ayuhito" } }, + "node_modules/@fontsource/saira-stencil-one": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource/saira-stencil-one/-/saira-stencil-one-5.3.0.tgz", + "integrity": "sha512-b7ILM7KrAWTIUSWKuzV29lTQZV5QOGhlmXXEt3Dsg/rJ4lo1kjUjuo6dBG9Iq+pR7wRZCVXftinVHDof+i9nSA==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, "node_modules/esbuild": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", diff --git a/package.json b/package.json index 12c5ea9..52b3aba 100644 --- a/package.json +++ b/package.json @@ -6,14 +6,16 @@ "description": "Exploded: real machines, built from code with their real numbers, that you can take apart in the browser.", "license": "MIT", "scripts": { - "check": "node machines/spindl/check.mjs && node machines/quantum/check.mjs && node scripts/test-root-lang.mjs", + "check": "node machines/spindl/check.mjs && node machines/quantum/check.mjs && node machines/radial/check.mjs && node scripts/test-root-lang.mjs", "build": "node scripts/build.mjs", "test": "npm run check && npm run build" }, "dependencies": { "@fontsource-variable/inter": "5.3.0", + "@fontsource/barlow-condensed": "5.3.0", "@fontsource/instrument-serif": "^5.3.0", "@fontsource/jetbrains-mono": "5.3.0", + "@fontsource/saira-stencil-one": "5.3.0", "esbuild": "0.28.1", "three": "0.186.1" } diff --git a/scripts/build.mjs b/scripts/build.mjs index 0e186a3..63eb0b4 100644 --- a/scripts/build.mjs +++ b/scripts/build.mjs @@ -57,6 +57,8 @@ const bundle = async (entry) => { write: false, target: 'es2022', legalComments: 'none', + // a machine may inline its own type (Radial's fonts.js) + loader: {'.woff2': 'base64'}, logLevel: 'warning', }); return res.outputFiles[0].text.replace(/<\/script/g, '<\\/script'); diff --git a/scripts/machines.mjs b/scripts/machines.mjs index a73ce2c..c693300 100644 --- a/scripts/machines.mjs +++ b/scripts/machines.mjs @@ -1,6 +1,35 @@ // The collection: one entry per machine, newest first (the gallery's order). Each machine lives in machines//, // its live page's entry point is `entry`, its share card `og` (1200 x 630, also the gallery's thumbnail). export const MACHINES = [ + { + slug: 'radial', + name: 'Radial', + entry: 'machines/radial/r2800-live/main.js', + og: 'machines/radial/og.png', + meta: { + en: { + title: 'Radial · the R-2800 Double Wasp, taken apart', + line: 'An 18-cylinder twin-row radial: the starter, the firing order round the star, a master rod and its eight articulated rods, the cam rings, take-off rpm.', + description: + 'The Pratt & Whitney R-2800 Double Wasp you can take apart in the browser: 18 cylinders in two rows, a master rod and eight articulated rods per row, cam rings instead of a camshaft, the run from the starter to 2,700 rpm. A C-series R-2800 after public sources; not affiliated with Pratt & Whitney.', + locale: 'en_US', + }, + fr: { + title: 'Radial · le R-2800 Double Wasp, démonté', + line: 'Un moteur en étoile à 18 cylindres sur deux rangées : le démarreur, l’ordre d’allumage autour de l’étoile, une bielle maîtresse et ses huit biellettes, les anneaux à cames, le régime de décollage.', + description: + 'Le Pratt & Whitney R-2800 Double Wasp à démonter dans le navigateur : 18 cylindres sur deux rangées, une bielle maîtresse et huit biellettes par rangée, des anneaux à cames au lieu d’un arbre à cames, la marche du démarreur à 2 700 tr/min. Un R-2800 de série C d’après les sources publiques ; sans lien avec Pratt & Whitney.', + locale: 'fr_FR', + }, + es: { + title: 'Radial · el R-2800 Double Wasp, desmontado', + line: 'Un motor radial de 18 cilindros en dos filas: el arranque, el orden de encendido alrededor de la estrella, una biela maestra y sus ocho articuladas, los anillos de levas, el régimen de despegue.', + description: + 'El Pratt & Whitney R-2800 Double Wasp para desmontar en el navegador: 18 cilindros en dos filas, una biela maestra y ocho articuladas por fila, anillos de levas en lugar de árbol de levas, la marcha del arranque a 2700 rpm. Un R-2800 de la serie C según fuentes públicas; sin relación con Pratt & Whitney.', + 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: an 18-cylinder radial engine, a hard drive, a photonic quantum computer.', 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 moteur en étoile à 18 cylindres, un disque dur, un ordinateur quantique photonique.', 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 motor radial de 18 cilindros, un disco duro, un ordenador cuántico fotónico.', locale: 'es_ES', }, }; From e2124cb5bd9f60a3027f96866211af8221ce3b14 Mon Sep 17 00:00:00 2001 From: storagebits <48120561+storagebits@users.noreply.github.com> Date: Wed, 4 Nov 2026 21:52:39 -0500 Subject: [PATCH 3/4] Rope: the Apollo Guidance Computer Block II and its DSKY, taken apart The AGC as flown in Apollo 11's LM (Luminary 099), driven by one input, the mission time counted in memory cycles since PDI. An Executive log planned once (SERVICER, Verb 16 monitors, the radar's 13 % cycle steals, the crew's keys) gives the core sets, the lamps and VERB/NOUN/PROG/R1-R3; its first two 1202s land at 317.4 s and 356.4 s after PDI (flown: 317 and 357). The rope shows real assembled words of NOVAC2 read bit by bit (a wire through a core is a 1, around it a 0); an erasable core is read and rewritten; one NOR gate; the DSKY's 19 keys work in the live page and can bring the 1202 back. Drawing-sheet aesthetic (ivory paper, mm grid, desk lamp, Barlow Condensed, seven-segment figures drawn by code), en/fr/es, check.mjs in npm run check. The site build gains a .woff2 base64 loader for the machine's font. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BzxZC5aA7ZkPTd3m9Kq4wy --- README.md | 1 + machines/rope/FILM.md | 23 + machines/rope/REFERENCES.md | 98 +++ machines/rope/agc-film/main.js | 4 + machines/rope/agc-film/sfx.json | 1 + machines/rope/agc-film/timeline.json | 1 + machines/rope/agc-live/main.js | 5 + machines/rope/agc-shared/agc.js | 873 +++++++++++++++++++++ machines/rope/agc-shared/console.js | 435 ++++++++++ machines/rope/agc-shared/executive.js | 305 +++++++ machines/rope/agc-shared/film.js | 401 ++++++++++ machines/rope/agc-shared/fonts.js | 26 + machines/rope/agc-shared/i18n.js | 223 ++++++ machines/rope/agc-shared/live.js | 569 ++++++++++++++ machines/rope/agc-shared/machine.js | 285 +++++++ machines/rope/agc-shared/make-timeline.mjs | 32 + machines/rope/agc-shared/schedule.js | 87 ++ machines/rope/agc-shared/score.py | 71 ++ machines/rope/agc-shared/seg7.js | 69 ++ machines/rope/agc-shared/stage.js | 169 ++++ machines/rope/check.mjs | 88 +++ machines/rope/og.png | Bin 0 -> 513362 bytes package-lock.json | 10 + package.json | 3 +- scripts/build.mjs | 1 + scripts/machines.mjs | 35 +- 26 files changed, 3811 insertions(+), 4 deletions(-) create mode 100644 machines/rope/FILM.md create mode 100644 machines/rope/REFERENCES.md create mode 100644 machines/rope/agc-film/main.js create mode 100644 machines/rope/agc-film/sfx.json create mode 100644 machines/rope/agc-film/timeline.json create mode 100644 machines/rope/agc-live/main.js create mode 100644 machines/rope/agc-shared/agc.js create mode 100644 machines/rope/agc-shared/console.js create mode 100644 machines/rope/agc-shared/executive.js create mode 100644 machines/rope/agc-shared/film.js create mode 100644 machines/rope/agc-shared/fonts.js create mode 100644 machines/rope/agc-shared/i18n.js create mode 100644 machines/rope/agc-shared/live.js create mode 100644 machines/rope/agc-shared/machine.js create mode 100644 machines/rope/agc-shared/make-timeline.mjs create mode 100644 machines/rope/agc-shared/schedule.js create mode 100644 machines/rope/agc-shared/score.py create mode 100644 machines/rope/agc-shared/seg7.js create mode 100644 machines/rope/agc-shared/stage.js create mode 100644 machines/rope/check.mjs create mode 100644 machines/rope/og.png diff --git a/README.md b/README.md index b69c711..9a631a9 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 | |---|---|---|---| +| [**Rope**](machines/rope) | The Apollo Guidance Computer Block II and its DSKY, as flown in Apollo 11's lunar module: a word read from the core rope (a wire through a core is a 1, around it a 0), an erasable core read and rewritten, one kind of NOR gate, the Executive running out of core sets as the rendezvous radar steals cycles, the 1202. A model after public sources (MIT Instrumentation Lab, NASA); not affiliated with NASA or MIT. | The mission time, counted in memory cycles since PDI. The Executive's log (jobs, priorities, radar steals, the crew's keys) is planned once. | `machines/rope/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/rope/FILM.md b/machines/rope/FILM.md new file mode 100644 index 0000000..3dc9e64 --- /dev/null +++ b/machines/rope/FILM.md @@ -0,0 +1,23 @@ +# The film + +The tour (40 s) is recorded frame by frame from `machines/rope/agc-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/rope +node agc-shared/make-timeline.mjs # agc-film/timeline.json (beats) and sfx.json (keys, alarms, calls) +node "$SKILL_DIR/sims/build.mjs" ./agc-film +echo '{"lang":"en"}' > teardown-out/en.json # or fr / es +node "$SKILL_DIR/sims/capture.mjs" agc-film --timeline agc-film/timeline.json --config teardown-out/en.json --size 1600x900 --dpr 1.2 --stills beats --cols 4 --out teardown-out/beats.png +node "$SKILL_DIR/sims/capture.mjs" agc-film --config teardown-out/en.json --size 1600x900 --dpr 1.2 --out teardown-out/silent.mp4 +python3 "$SKILL_DIR/run_sfx.py" agc-shared/score.py # teardown-out/rope-score.wav, mastered to −14 LUFS +ffmpeg -y -i teardown-out/silent.mp4 -i teardown-out/rope-score.wav -map 0:v -map 1:a -c:v copy -c:a aac -b:a 256k -shortest -movflags +faststart teardown-out/rope-en.mp4 +``` + +The share card is the film's first frame, scaled: `ffmpeg -y -i teardown-out/rope-en.mp4 -frames:v 1 -vf "crop=1920:1008:0:36,scale=1200:630" -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 console. diff --git a/machines/rope/REFERENCES.md b/machines/rope/REFERENCES.md new file mode 100644 index 0000000..f3f1443 --- /dev/null +++ b/machines/rope/REFERENCES.md @@ -0,0 +1,98 @@ +# Rope: references + +Rope is a model of the Apollo Guidance Computer Block II and its DSKY, as flown in the lunar module of Apollo 11 +(Luminary 099), built from public sources: the MIT Instrumentation Lab's documents and code as preserved by the +Virtual AGC project, NASA's mission records, and the restoration work of Ken Shirriff and Marc Verdiell. It is not +affiliated with NASA, MIT or Draper. Where a figure is not public or could not be found, the model uses a plausible +value and marks it `[E]` below and in [`agc-shared/machine.js`](agc-shared/machine.js), where every number lives. + +## Sources + +- **[W]** [Apollo Guidance Computer](https://en.wikipedia.org/wiki/Apollo_Guidance_Computer), Wikipedia, and the + documents it cites: 16-bit word (15 data bits + odd parity), ones' complement, 36,864 words of core rope and 2,048 + of erasable core, 2.048 MHz clock, 11.72 µs memory cycle, ~2,800 flat-packs of dual 3-input NOR gates, 32 kg + (70 lb), 55 W, 61 × 32 × 17 cm (24 × 12.5 × 6.5 in), green electroluminescent seven-segment digits. +- **[S]** Ken Shirriff, [Software woven into wire: core rope and the Apollo Guidance Computer](https://www.righto.com/2019/07/software-woven-into-wire-core-rope-and.html) + (2019): 6 rope modules of 6,144 words, 512 cores each (two layers of 256), 12 words per core on 192 sense lines + (12 strands of 16), inhibit lines that select one core, set and reset pulses, a wire through the core reads 1 and + a wire around it reads 0; the photographs of the opened AGC (trays A and B), of tray B's modules B7-B17, of the + inside of a rope module, and the simplified rope diagram the geometry was built against. +- **[L]** Luminary 099 (Apollo 11 LM), as transcribed by the [Virtual AGC project](https://www.ibiblio.org/apollo/) + ([listings](https://www.ibiblio.org/apollo/listings/Luminary099/), [chrislgarry/Apollo-11](https://github.com/chrislgarry/Apollo-11)): + - `EXECUTIVE.agc`: NOVAC2, NOVAC3, NEXTCORE, and `TC BAILOUT1` / `OCT 1202`; the assembled words and their + addresses shown in the rope (`01,2625` to `01,2703`) are copied from the listing. + - `ERASABLE_ASSIGNMENTS.agc`: "EIGHT SETS OF 12 REGISTERS EACH" (the core sets), five VAC areas. + - `PINBALL_NOUN_TABLES.agc`: Noun 63 (absolute velocity, altitude rate, computed altitude), Noun 64 (time left + for redesignation and LPD angle, altitude rate, altitude), Noun 68 (slant range to the landing site, time to go in + the braking phase, LR altitude minus computed altitude), Noun 60. + - `LUNAR_LANDING_GUIDANCE_EQUATIONS.agc`, `THE_LUNAR_LANDING.agc`: V06N63 in P63, V06N64 in P64, DELTAH for V16N68. + - `ALARM_AND_ABORT.agc`: BAILOUT1's `INDEX Q` / `CAF 0`, which fetches the alarm code from the rope. +- **[E1]** Don Eyles, [Tales from the Lunar Module Guidance Computer](https://www.doneyles.com/LM/Tales.html) + (AAS, 2004): the duty-cycle margins (over 15 % in braking, about 13 % once the landing radar's data come in, 10 % + or less with Verb 16 Noun 68 up, below 10 % in P64), the radar's TLOSS (2 angles × up to 6,400 pulses per second, + 13 % assumed, 13.36 % measured after the flight), SERVICER every 2 s, 8 core sets and 5 VAC areas, the restart + that keeps only the newest SERVICER and drops the uncompleted ones and the Noun 68 monitor, high gate at + 102:41:32 and 7,400 ft, P66 at 102:43:08. +- **[J]** [Apollo 11 Lunar Surface Journal](https://apollojournals.org/alsj/a11/a11.landing.html), the landing: + the crew's altitude and speed call-outs from 5,000 ft to contact, "Delta-H is minus 2,900", the ALT light out at + 102:38:11, the altitude and velocity lights near the surface, "Contact light" at 102:45:40. +- **[R]** Apollo 11 Mission Report and NASA timeline: PDI at 102:33:05, alarms at 102:38:22 (1202), 102:39:02 + (1202), 102:42:18 (1201), 102:42:43 (1202), 102:42:58 (1202). +- **[G]** [Apollo descent guidance](https://www.nasa.gov/wp-content/uploads/static/history/alsj/ApolloDescentGuidnce.pdf) (report on the ALSJ): + the braking phase ends about 7,800 m in slant range from the landing site. +- **[D]** The LM DSKY: the photographs at the Computer History Museum and NASM (Wikimedia Commons, below), the + Luminary lamp list; 8 × 8 × 7 in. +- **[H]** The AGC's instruction timing (Virtual AGC, "Assembly language manual"): 12 timing pulses per MCT, AD in + 2 MCT, TC and TCF in 1, DXCH in 3. +- **[P]** Pinball (the DSKY program in Luminary): a Verb 16 monitor redisplays once a second. +- **[Q]** [Quindar tones](https://www.nasa.gov/wp-content/uploads/static/history/alsj/quindar.html), ALSJ: + 2,525 Hz to key the ground transmitter, 2,475 Hz to release it, 250 ms each. +- **[A]** Apollo Operations Handbook, Block II spacecraft, vol. 1, section 2.10, caution and warning + ([ibiblio](https://www.ibiblio.org/apollo/ApolloProjectOnline/Documents/SMA2A-03-BLOCK%20II%20Volume%201%2019691015/aoh-v1-2-10-c+w.pdf)): + the master alarm tone is a square wave alternately 750 and 2,000 Hz. That is the command module's handbook; the + score assumes the LM's tone was the same. + +## Estimates and simplifications **[E]** + +| What | In the model | Why | +|---|---|---| +| Job mix of the Executive | SERVICER every 2 s (needs a VAC area), a Verb 16 monitor job every second at lower priority, an LPD display job every 2 s in P64 from 12 s after high gate, one keyboard job per key | the real Luminary job list is longer; this is the smallest mix that shows the mechanism Eyles describes | +| Priorities | relative only (keyboard > SERVICER > monitor, LPD) | the numbers are not shown on screen; the priority word in the erasable view uses PRIO20 / PRIO10 and an estimated low-9-bit pointer (`0154`) | +| Radar data load | +1.5 % (ramping over 24 s once the landing radar locks at 102:38:11) | Eyles gives "perhaps 13 %" margin; 1.5 % instead of 2 % keeps the braking phase from drifting into overload between the second alarm and P64, as it did not in flight | +| P64 duty | 83.5 % rising to 90 % at P66 | Eyles: margin below 10 % in P64; the ramp places the model's P64 alarms near the flown ones | +| Crew keystrokes | V16 N68 entered at PDI + 305 s, V05 N09 after the first alarm, V16 N68 again at PDI + 350 s, RSETs | the keystroke times are not in the transcript; they are set so the model's first two 1202s land at 317.4 s and 356.4 s after PDI (flown: 317 and 357) | +| Descent profile before high gate | a smooth braking profile through 50,000 ft at PDI, 33,500 ft at the first alarm, 7,400 ft at high gate; horizontal speed 5,560 ft/s at PDI | nobody called numbers in the braking phase; the call-outs after high gate are the crew's [J] | +| Delta-H | −2,900 ft when the radar locks [J], then decaying with a 38 s time constant | the shape of its incorporation is not published | +| Rope strand mapping | word w of a module sits on core w mod 512, strand ⌊w / 512⌋ | the real mapping (address bits to core and strand) is more involved; this one puts consecutive addresses on neighbouring cores, so the 9 cores shown hold the real words `01,2623` to `01,2633` | +| Phases inside the memory cycle | inhibit, set, reset, strobe drawn over the 12 pulses; the 16 bits drawn one after the other | the sense amplifiers read all 16 at once; the drawing staggers them so the eye can follow | +| Erasable plane | 34 × 11 cores of one bit plane (bit 14), coincident-current X / Y lines, one sense line | the AGC's erasable module packs 32,768 cores; the plane is a window onto one of them | +| Inside tray B | the rope bay at one end (3 across, 2 deep), B7-B17 standing across the middle, the X-ribbed plate at the other end | after the photographs of the opened trays; the exact positions are approximate | +| Model's P64 alarms | three 1201s at 577, 586 and 598 s | flown: a 1201 at 553 s and two 1202s at 578 and 593 s; the model's VAC areas run out before its core sets | +| The instruction-per-second figure | 85,333 MCT/s; additions take 2 MCT, so 42,667 additions/s | "about 85,000 instructions per second" holds only for one-MCT instructions (TC, TCF) | + +## The model, by hand + +- 2.048 MHz ÷ 2 = 1.024 MHz; 12 pulses = 11.72 µs per memory cycle; 85,333 cycles a second. +- 6 modules × 512 cores × 12 words = 36,864 words of rope = 36 banks of 1,024; × 16 bits = 589,824 bits. +- 2,048 erasable words × 16 bits = 32,768 cores. +- The radar's two angles at 6,400 pulses per second each steal 12,800 MCT a second: 15.0 % at most; 13 % in the model. +- At the first alarm: 85 % braking + 1.5 % radar data + 3 % Noun 68 + 13 % stolen = 102.5 % of the machine. +- CAF NO.CORES at `01,2627` is `32634` octal = `011 010 110 011 100`, eight ones; the parity bit is 1. + +`node machines/rope/check.mjs` recomputes each of these from the code, runs the Executive's log and compares its +alarms with Apollo 11's. + +## Study material + +The photographs and documents the geometry was built against belong to their authors and are not in this +repository (they sit in `machines/rope/ref/`, which git ignores): + +- Ken Shirriff's photographs in [S]: the AGC closed, the two trays opened, tray B, a rope module opened, the rope + diagram. +- [Apollo DSKY at the Computer History Museum](https://commons.wikimedia.org/wiki/File:Apollo_DSKY_CHM.agr.jpg) + (Arnold Reinhold, CC BY-SA), [Apollo Guidance Computer at NASM](https://commons.wikimedia.org/wiki/File:Apollo_Guidance_Computer_(NASM).JPG), + [AGC logic module](https://commons.wikimedia.org/wiki/File:AGClogicmodule.agr.jpg), + [core rope memory](https://commons.wikimedia.org/wiki/File:Apollo_guidiance_computer_ferrit_core_memory.jpg). +- The Luminary 099 source files listed in [L]. + +The console's lettering is Barlow Condensed (SIL Open Font License, [@fontsource/barlow-condensed](https://fontsource.org/fonts/barlow-condensed)). diff --git a/machines/rope/agc-film/main.js b/machines/rope/agc-film/main.js new file mode 100644 index 0000000..3655774 --- /dev/null +++ b/machines/rope/agc-film/main.js @@ -0,0 +1,4 @@ +// Rope, the film. Shared code in ../agc-shared. +import {run} from '../agc-shared/film.js'; + +run(); diff --git a/machines/rope/agc-film/sfx.json b/machines/rope/agc-film/sfx.json new file mode 100644 index 0000000..3c32ca1 --- /dev/null +++ b/machines/rope/agc-film/sfx.json @@ -0,0 +1 @@ +{"keys":[29.224,29.513,29.802,30.162,30.451,30.74,31.173,32.111],"alarms":[{"t":27.6,"code":1202},{"t":33.503,"code":1202},{"t":35.132,"code":1201},{"t":35.189,"code":1201},{"t":35.266,"code":1201}],"calls":[[28.5,29.9],[31.2,32.2],[37.6,38.8]],"quindar":{"intro":2525,"outro":2475,"ms":250}} \ No newline at end of file diff --git a/machines/rope/agc-film/timeline.json b/machines/rope/agc-film/timeline.json new file mode 100644 index 0000000..63ff34f --- /dev/null +++ b/machines/rope/agc-film/timeline.json @@ -0,0 +1 @@ +{"duration":40,"beats":{"views":[3,6.8,14.6,20.2,24,32.4],"ropeRead":10.2,"erasRead":16,"alarm":27.6,"ff":32.4,"contact":37.4}} \ No newline at end of file diff --git a/machines/rope/agc-live/main.js b/machines/rope/agc-live/main.js new file mode 100644 index 0000000..6ec7377 --- /dev/null +++ b/machines/rope/agc-live/main.js @@ -0,0 +1,5 @@ +import {runLive} from '../agc-shared/live.js'; + +// Rope as an interactive page: seven subsystems, sections, views, the DSKY's keys, the radar's cycle steals, the +// mission speed, orbit and zoom, and an auto tour when left alone. +runLive(); diff --git a/machines/rope/agc-shared/agc.js b/machines/rope/agc-shared/agc.js new file mode 100644 index 0000000..d90ff31 --- /dev/null +++ b/machines/rope/agc-shared/agc.js @@ -0,0 +1,873 @@ +// Rope's geometry, built from code, in metres: the AGC Block II (two magnesium trays bolted face to face, 61 x 32 x +// 17 cm [W]) and the LM DSKY (20 x 20 x 18 cm [D]), after the photographs in REFERENCES.md. Tray A (bottom) holds the +// 24 logic and 7 interface modules standing on edge [S]; tray B holds the memory electronics B7-B17, the erasable +// module B12 (black), the X-ribbed plate, and the bay of the 6 rope modules B1-B6 that slide in from the end [S]. +// The layout inside tray B is simplified [E]. update(fx) poses everything from the frame's state. +import * as THREE from 'three'; +import {AGC, LAMPS, ROPE_WORDS, bits16, ropePlace, wordAt} from './machine.js'; +import {drawDigits} from './seg7.js'; + +const V3 = THREE.Vector3; +export const ACCENT = '#35c26a'; // the DSKY's electroluminescent green +export const ACCENT_INK = '#1f8a4c'; // the same on paper +export const AMBER = '#f0a828'; +const COL = { + mag: '#a39976', // anodised magnesium, dull gold + magDark: '#7f7a62', + magGreen: '#8b8f78', // grey-green + strip: '#d2cbb7', // potted modules, cream grey + stripEdge: '#b9b19b', + black: '#24221f', + ferrite: '#1c1a18', + copper: '#b5713f', + gold: '#c09a4a', + ink: '#2b2925', + dsky: '#8f9194', + key: '#2a2b2d', + pcb: '#5f6b55', +}; +export const L = { + x0: -0.17, // the AGC's centre + len: 0.61, + wid: 0.32, + trayH: 0.085, + dsky: new V3(0.5, 0, 0.04), + dskyYaw: 0.3, + dskyS: 0.203, + dskyD: 0.178, + openZ: -0.37, // tray B beside tray A when apart + liftY: 0.24, +}; +const M0 = new THREE.Matrix4(); +const smooth = (x) => { + const u = Math.min(1, Math.max(0, x)); + return u * u * (3 - 2 * u); +}; +const mix = (a, b, k) => a + (b - a) * k; + +function std(color, o = {}) { + return new THREE.MeshStandardMaterial({color, roughness: 0.62, metalness: 0.15, envMapIntensity: 0.5, ...o}); +} +function box(w, h, d, mat, x = 0, y = 0, z = 0) { + const m = new THREE.Mesh(new THREE.BoxGeometry(w, h, d), mat); + m.position.set(x, y, z); + m.castShadow = true; + m.receiveShadow = true; + return m; +} +const font = (w, px) => `${w} ${px}px "Barlow Condensed", "Arial Narrow", sans-serif`; +function labelTex(text, {w = 512, h = 64, px = 40, color = '#2b2925', bg = null, weight = 600, align = 'center', spacing = 3} = {}) { + const c = document.createElement('canvas'); + c.width = w; + c.height = h; + const g = c.getContext('2d'); + if (bg) { + g.fillStyle = bg; + g.fillRect(0, 0, w, h); + } + g.fillStyle = color; + g.font = font(weight, px); + g.textBaseline = 'middle'; + g.textAlign = align; + if ('letterSpacing' in g) g.letterSpacing = `${spacing}px`; + g.fillText(text, align === 'center' ? w / 2 : 12, h / 2 + 2); + const t = new THREE.CanvasTexture(c); + t.colorSpace = THREE.SRGBColorSpace; + t.anisotropy = 8; + return t; +} + +// ------------------------------------------------------------ a magnesium tray: plate, walls, pockets, flange, bolts +function tray({len, wid, h, mat, dark, holes}) { + const g = new THREE.Group(); + const t = 0.006; + const shell = []; + const add = (m) => { + g.add(m); + shell.push(m); + return m; + }; + add(box(len, t, wid, mat, 0, t / 2, 0)); + add(box(len, h, t, mat, 0, h / 2, wid / 2 - t / 2)); + add(box(len, h, t, mat, 0, h / 2, -wid / 2 + t / 2)); + add(box(t, h, wid - 2 * t, mat, len / 2 - t / 2, h / 2, 0)); + add(box(t, h, wid - 2 * t, mat, -len / 2 + t / 2, h / 2, 0)); + // the flange round the open side + const fl = 0.012; + add(box(len, 0.004, fl, mat, 0, h - 0.002, wid / 2 - fl / 2)); + add(box(len, 0.004, fl, mat, 0, h - 0.002, -wid / 2 + fl / 2)); + add(box(fl, 0.004, wid, mat, len / 2 - fl / 2, h - 0.002, 0)); + add(box(fl, 0.004, wid, mat, -len / 2 + fl / 2, h - 0.002, 0)); + // pockets milled into the long walls (the photos' rectangular recesses), and a rib between them + const pk = std(dark); + pk.polygonOffset = true; + pk.polygonOffsetFactor = -2; + const n = 4; + for (let i = 0; i < n; i++) { + const pw = len / n - 0.018; + const px = -len / 2 + (i + 0.5) * (len / n); + for (const s of [1, -1]) { + const p = new THREE.Mesh(new THREE.PlaneGeometry(pw, h * 0.62), pk); + p.position.set(px, h * 0.45, s * (wid / 2 + 0.0002)); + if (s < 0) p.rotation.y = Math.PI; + p.receiveShadow = true; + g.add(p); + shell.push(p); + } + } + // bolt holes on the flange + if (holes) { + const hg = new THREE.CylinderGeometry(0.0022, 0.0022, 0.0006, 10); + const hm = new THREE.MeshBasicMaterial({color: '#3b362c'}); + const pts = []; + for (let i = 0; i <= 22; i++) for (const s of [1, -1]) pts.push([-len / 2 + 0.012 + (i * (len - 0.024)) / 22, s * (wid / 2 - 0.006)]); + for (let i = 1; i < 10; i++) for (const s of [1, -1]) pts.push([s * (len / 2 - 0.006), -wid / 2 + (i * wid) / 10]); + const im = new THREE.InstancedMesh(hg, hm, pts.length); + const M = new THREE.Matrix4(); + pts.forEach(([x, z], i) => im.setMatrixAt(i, M.makeTranslation(x, h + 0.0003, z))); + g.add(im); + shell.push(im); + } + return {g, shell}; +} + +// ------------------------------------------------------------ a rope module: frame, 512 cores, copper weave, cover +export const ROPE = {len: 0.16, wid: 0.092, th: 0.028, cols: 32, rows: 8, layers: 2, px: 0.0036, pz: 0.0098, rCore: 0.00315, rHole: 0.0019, thick: 0.0024}; +const coreX = (c) => (c - (ROPE.cols - 1) / 2) * ROPE.px; +const coreZ = (r) => (r - (ROPE.rows - 1) / 2) * ROPE.pz; +const coreY = (l) => 0.0095 + l * 0.0098; +function ropeModule(i, mats) { + const g = new THREE.Group(); + const frame = std(COL.black, {roughness: 0.7}); + g.add(box(ROPE.len, 0.003, ROPE.wid, frame, 0, 0.0015, 0)); + for (const s of [1, -1]) g.add(box(ROPE.len, ROPE.th, 0.004, frame, 0, ROPE.th / 2, s * (ROPE.wid / 2 - 0.002))); + g.add(box(0.006, ROPE.th, ROPE.wid, frame, -ROPE.len / 2 + 0.003, ROPE.th / 2, 0)); + // the connector end, gold pins + const conn = box(0.01, ROPE.th * 0.8, ROPE.wid * 0.86, std(COL.black), ROPE.len / 2 - 0.005, ROPE.th * 0.42, 0); + g.add(conn); + const pinG = new THREE.CylinderGeometry(0.0005, 0.0005, 0.006, 6); + pinG.rotateZ(Math.PI / 2); + const pins = new THREE.InstancedMesh(pinG, mats.gold, 48); + const M = new THREE.Matrix4(); + for (let k = 0; k < 48; k++) pins.setMatrixAt(k, M.makeTranslation(ROPE.len / 2 + 0.002, 0.008 + (k % 2) * 0.008, -ROPE.wid * 0.4 + Math.floor(k / 2) * (ROPE.wid * 0.8) / 23)); + g.add(pins); + // cordwood rows of resistors and diodes along both long edges (the photo's white combs) + const cw = new THREE.CylinderGeometry(0.0007, 0.0007, 0.009, 6); + const cwm = new THREE.InstancedMesh(cw, std('#e9e3d2', {roughness: 0.8}), 2 * 70); + for (let k = 0; k < 140; k++) { + const s = k < 70 ? 1 : -1; + const x = -0.068 + ((k % 70) * 0.136) / 69; + cwm.setMatrixAt(k, M.makeTranslation(x, 0.012, s * 0.036)); + } + g.add(cwm); + // the cores: 2 layers of 8 rows of 32, axis along the module (the wires run along it) + const cg = new THREE.TorusGeometry((ROPE.rCore + ROPE.rHole) / 2, (ROPE.rCore - ROPE.rHole) / 2, 6, 14); + cg.rotateY(Math.PI / 2); + cg.scale(ROPE.thick / (ROPE.rCore - ROPE.rHole), 1, 1); + const cores = new THREE.InstancedMesh(cg, mats.ferrite, ROPE.cols * ROPE.rows * ROPE.layers); + let k = 0; + for (let l = 0; l < ROPE.layers; l++) for (let r = 0; r < ROPE.rows; r++) for (let c = 0; c < ROPE.cols; c++) cores.setMatrixAt(k++, M.makeTranslation(coreX(c), coreY(l), coreZ(r))); + cores.castShadow = true; + g.add(cores); + // the 192 lines of each row: a bundle through the cores and a looser one round them + const wl = ROPE.cols * ROPE.px + 0.01; + const thr = new THREE.CylinderGeometry(0.0014, 0.0014, wl, 8, 1, true); + thr.rotateZ(Math.PI / 2); + const aro = new THREE.CylinderGeometry(0.0039, 0.0039, wl, 14, 1, true); + aro.rotateZ(Math.PI / 2); + const bundles = new THREE.InstancedMesh(thr, mats.copper, ROPE.rows * ROPE.layers); + const sheath = new THREE.InstancedMesh(aro, mats.copperSheath, ROPE.rows * ROPE.layers); + k = 0; + for (let l = 0; l < ROPE.layers; l++) + for (let r = 0; r < ROPE.rows; r++) { + bundles.setMatrixAt(k, M.makeTranslation(0, coreY(l), coreZ(r))); + sheath.setMatrixAt(k++, M.makeTranslation(0, coreY(l), coreZ(r))); + } + g.add(bundles, sheath); + // the cover and its label + const cover = new THREE.Group(); + const cm = std(COL.magGreen, {roughness: 0.55}); + cover.add(box(ROPE.len - 0.004, 0.0022, ROPE.wid - 0.002, cm, 0, 0, 0)); + const lab = new THREE.Mesh(new THREE.PlaneGeometry(0.11, 0.014), new THREE.MeshStandardMaterial({map: labelTex(`FIXED MEMORY MODULE B${i + 1}`, {px: 34, color: '#3b3a33'}), transparent: true, roughness: 0.8})); + lab.rotation.x = -Math.PI / 2; + lab.position.set(-0.01, 0.00115, 0); + cover.add(lab); + cover.position.y = ROPE.th + 0.0011; + g.add(cover); + return {g, cover, cores, conn, bundles, sheath}; +} + +// ------------------------------------------------------------ the detailed row inside module B1: 9 cores, 16 sense lines +const DET_N = 9; +function ropeDetail(mats) { + const g = new THREE.Group(); + const sel = ROPE_WORDS.find((w) => w.op === 'CAF NO.CORES'); + const P = ropePlace(sel.bank, sel.addr); + const row = Math.floor(P.core / ROPE.cols); + const layer = Math.floor(row / ROPE.rows); + const r = row % ROPE.rows; + const c0 = (P.core % ROPE.cols) - (DET_N - 1) / 2; + const y = coreY(layer); + const z = coreZ(r); + // the words held on this strand by the 9 cores: consecutive addresses [L] + const words = []; + for (let k = 0; k < DET_N; k++) { + const addr = sel.addr + (k - (DET_N - 1) / 2); + const w = wordAt(1, addr); + words.push({addr, word: w, bits: w === null ? null : bits16(w)}); + } + const cg = new THREE.TorusGeometry((ROPE.rCore + ROPE.rHole) / 2, (ROPE.rCore - ROPE.rHole) / 2, 18, 40); + cg.rotateY(Math.PI / 2); + cg.scale(ROPE.thick / (ROPE.rCore - ROPE.rHole), 1, 1); + const cores = []; + for (let k = 0; k < DET_N; k++) { + const m = new THREE.Mesh(cg, mats.coreSel.clone()); + m.position.set(coreX(c0 + k), y, z); + m.castShadow = true; + g.add(m); + cores.push(m); + } + // a sense line: through the hole of a core (a 1) or over it (a 0); 16 lines, the bits of this strand + const xs = (k) => coreX(c0 + k); + const throughAt = (j) => [(-1.5 + (j % 4)) * 0.00042, (-1.5 + Math.floor(j / 4)) * 0.00042]; + const aroundAt = (j) => { + const a = Math.PI * (0.12 + (0.76 * j) / 15); + const R = 0.0046 + (j % 2) * 0.0005; + return [Math.cos(a) * R, Math.sin(a) * R]; + }; + const wires = []; + const tubeR = 0.00012; + for (let j = 0; j < 16; j++) { + const pts = []; + const x0 = xs(0) - ROPE.px * 0.9; + const x1 = xs(DET_N - 1) + ROPE.px * 0.9; + const P0 = (k) => (words[k].bits && words[k].bits[j] ? throughAt(j) : aroundAt(j)); + const first = P0(0); + pts.push(new V3(x0 - 0.004, y + first[1] * 0.5 + 0.0006, z + first[0])); + for (let k = 0; k < DET_N; k++) { + const [dz, dy] = P0(k); + pts.push(new V3(xs(k) - ROPE.thick * 0.75, y + dy, z + dz)); + pts.push(new V3(xs(k) + ROPE.thick * 0.75, y + dy, z + dz)); + } + const last = P0(DET_N - 1); + pts.push(new V3(x1 + 0.004, y + last[1] * 0.5 + 0.0006, z + last[0])); + const curve = new THREE.CatmullRomCurve3(pts, false, 'centripetal'); + const m = new THREE.Mesh(new THREE.TubeGeometry(curve, 220, tubeR, 6), mats.wire.clone()); + g.add(m); + wires.push(m); + } + // the other 176 lines (11 other strands): faint bundles through and round + const wl = (DET_N + 1.8) * ROPE.px; + const others = new THREE.Mesh(new THREE.CylinderGeometry(0.00125, 0.00125, wl, 16, 1, true).rotateZ(Math.PI / 2), mats.copperDim); + others.position.set((xs(0) + xs(DET_N - 1)) / 2, y - 0.0003, z); + g.add(others); + // inhibit lines (the address decode) below, and the set / reset line + const inhib = []; + for (let q = 0; q < 4; q++) { + const pts = []; + for (let k = 0; k < DET_N; k++) { + const thru = ((k + q) % 3 !== 0) !== (k === (DET_N - 1) / 2) || (k === (DET_N - 1) / 2 && false); + const on = k === (DET_N - 1) / 2 ? true : thru; + const dy = on ? -0.0011 - q * 0.00022 : -0.0047 - q * 0.0004; + pts.push(new V3(xs(k) - ROPE.thick * 0.7, y + dy, z + (q - 1.5) * 0.0005)); + pts.push(new V3(xs(k) + ROPE.thick * 0.7, y + dy, z + (q - 1.5) * 0.0005)); + } + const m = new THREE.Mesh(new THREE.TubeGeometry(new THREE.CatmullRomCurve3(pts, false, 'centripetal'), 160, 0.00013, 5), mats.inhibit.clone()); + g.add(m); + inhib.push(m); + } + const setPts = [new V3(xs(0) - 0.005, y + 0.0012, z - 0.0011), new V3(xs(DET_N - 1) + 0.005, y + 0.0012, z - 0.0011)]; + const setLine = new THREE.Mesh(new THREE.TubeGeometry(new THREE.CatmullRomCurve3(setPts), 4, 0.00017, 6), mats.inhibit.clone()); + g.add(setLine); + return {g, cores, wires, inhib, setLine, words, sel, place: P, layer, row: r, c0, anchor: new V3(xs((DET_N - 1) / 2), y, z)}; +} + +// ------------------------------------------------------------ the erasable plane inside B12 +export const ERAS = {cols: 34, rows: 11, px: 0.0029, py: 0.0029, sel: [17, 5]}; +function erasPlane(mats) { + const g = new THREE.Group(); + const cg = new THREE.TorusGeometry(0.00072, 0.00026, 8, 18); + const cores = new THREE.InstancedMesh(cg, mats.ferrite, ERAS.cols * ERAS.rows); + const M = new THREE.Matrix4(); + const Q = new THREE.Quaternion().setFromEuler(new THREE.Euler(0, Math.PI / 2, Math.PI / 4)); + const S = new V3(1, 1, 1); + const P = new V3(); + const pos = (c, r) => P.set((c - (ERAS.cols - 1) / 2) * ERAS.px, (r - (ERAS.rows - 1) / 2) * ERAS.py, 0); + let k = 0; + for (let r = 0; r < ERAS.rows; r++) for (let c = 0; c < ERAS.cols; c++) cores.setMatrixAt(k++, M.compose(pos(c, r), Q, S)); + g.add(cores); + // X lines (rows), Y lines (columns), the sense line zig-zag, the inhibit line + const W = ERAS.cols * ERAS.px; + const H = ERAS.rows * ERAS.py; + const xl = []; + const yl = []; + for (let r = 0; r < ERAS.rows; r++) { + const m = new THREE.Mesh(new THREE.CylinderGeometry(0.00005, 0.00005, W + 0.004, 5).rotateZ(Math.PI / 2), mats.fine.clone()); + m.position.y = (r - (ERAS.rows - 1) / 2) * ERAS.py; + g.add(m); + xl.push(m); + } + for (let c = 0; c < ERAS.cols; c++) { + const m = new THREE.Mesh(new THREE.CylinderGeometry(0.00005, 0.00005, H + 0.004, 5), mats.fine.clone()); + m.position.x = (c - (ERAS.cols - 1) / 2) * ERAS.px; + m.position.z = 0.0001; + g.add(m); + yl.push(m); + } + const zz = []; + for (let r = 0; r <= ERAS.rows; r++) zz.push(new V3((r % 2 ? 1 : -1) * (W / 2 + 0.0015), (r - ERAS.rows / 2) * ERAS.py, -0.00012)); + const sense = new THREE.Mesh(new THREE.TubeGeometry(new THREE.CatmullRomCurve3(zz, false, 'catmullrom', 0.1), 260, 0.00006, 5), mats.fine.clone()); + g.add(sense); + // the selected core, on its own, with its magnetisation mark + const [sc, sr] = ERAS.sel; + const selCore = new THREE.Mesh(new THREE.TorusGeometry(0.00072, 0.00028, 14, 30), mats.erasSel); + selCore.position.copy(pos(sc, sr)); + selCore.quaternion.copy(Q); + g.add(selCore); + const mark = new THREE.Mesh(new THREE.SphereGeometry(0.0003, 10, 8), mats.mark); + g.add(mark); + const backing = new THREE.Mesh(new THREE.PlaneGeometry(W + 0.01, H + 0.01), std('#b9ae92', {roughness: 0.9})); + backing.position.z = -0.0014; + backing.receiveShadow = true; + g.add(backing); + return {g, xl, yl, sense, selCore, mark, centre: pos(sc, sr).clone()}; +} + +// ------------------------------------------------------------ the DSKY: face plate, lamps, EL panel, 19 keys +export const KEY_POS = (() => { + const out = {}; + const col = (i) => (i - 3) * 0.0262; + const row = (j) => -0.024 - j * 0.0262; + out.VERB = [col(0), row(0.5)]; + out.NOUN = [col(0), row(1.5)]; + ['+', '7', '8', '9', 'CLR'].forEach((k, i) => (out[k] = [col(i + 1), row(0)])); + ['-', '4', '5', '6', 'PRO'].forEach((k, i) => (out[k] = [col(i + 1), row(1)])); + ['0', '1', '2', '3', 'KEY REL'].forEach((k, i) => (out[k] = [col(i + 1), row(2)])); + out.ENTR = [col(6), row(0.5)]; + out.RSET = [col(6), row(1.5)]; + return out; +})(); +const keyLabel = (k) => (k === '-' ? '−' : k); +function dskyUnit(mats) { + const g = new THREE.Group(); + const S = L.dskyS; + const D = L.dskyD; + const body = std(COL.dsky, {roughness: 0.55, metalness: 0.25}); + const shell = box(S, S, D, body, 0, S / 2, 0); + g.add(shell); + // back connector block and side rails (the photo's mounting flanges) + g.add(box(S * 0.86, S * 0.9, 0.03, std('#2f3133'), 0, S / 2, -D / 2 - 0.015)); + for (const s of [1, -1]) g.add(box(0.006, S * 0.96, D * 0.9, std('#9a9b9c', {metalness: 0.4}), s * (S / 2 + 0.003), S / 2, -0.004)); + // the face: plate, lamp window, EL window, keyboard well + const plate = new THREE.CanvasTexture(faceCanvas()); + plate.colorSpace = THREE.SRGBColorSpace; + plate.anisotropy = 8; + const face = new THREE.Mesh(new THREE.PlaneGeometry(S, S), new THREE.MeshStandardMaterial({map: plate, roughness: 0.6, metalness: 0.1})); + face.position.set(0, S / 2, D / 2 + 0.0004); + face.receiveShadow = true; + g.add(face); + // the lamp panel and the EL panel: canvases redrawn when their state changes + const lampC = document.createElement('canvas'); + lampC.width = 420; + lampC.height = 470; + const lampT = new THREE.CanvasTexture(lampC); + lampT.colorSpace = THREE.SRGBColorSpace; + lampT.anisotropy = 8; + const lw = 0.08; + const lh = 0.0895; + const lamp = new THREE.Mesh(new THREE.PlaneGeometry(lw, lh), new THREE.MeshBasicMaterial({map: lampT, toneMapped: false})); + lamp.position.set(-0.048, S / 2 + 0.05, D / 2 + 0.0035); + g.add(lamp); + g.add(box(lw + 0.006, lh + 0.006, 0.006, std('#55575a'), -0.048, S / 2 + 0.05, D / 2 + 0.0002)); + const elC = document.createElement('canvas'); + elC.width = 400; + elC.height = 470; + const elT = new THREE.CanvasTexture(elC); + elT.colorSpace = THREE.SRGBColorSpace; + elT.anisotropy = 8; + const el = new THREE.Mesh(new THREE.PlaneGeometry(lw, lh), new THREE.MeshBasicMaterial({map: elT, toneMapped: false})); + el.position.set(0.048, S / 2 + 0.05, D / 2 + 0.0035); + g.add(el); + g.add(box(lw + 0.006, lh + 0.006, 0.006, std('#55575a'), 0.048, S / 2 + 0.05, D / 2 + 0.0002)); + // keys + const keys = {}; + const kg = new THREE.BoxGeometry(0.0218, 0.0218, 0.007); + for (const [k, [x, y]] of Object.entries(KEY_POS)) { + const t = labelTex(keyLabel(k), {w: 128, h: 128, px: k.length > 3 ? 34 : k.length > 1 ? 40 : 62, color: '#e9e6dc', bg: COL.key, weight: 600, spacing: 1}); + if (k === 'KEY REL') { + const c = t.image.getContext('2d'); + c.fillStyle = COL.key; + c.fillRect(0, 0, 128, 128); + c.fillStyle = '#e9e6dc'; + c.font = font(600, 36); + c.textAlign = 'center'; + c.textBaseline = 'middle'; + c.fillText('KEY', 64, 46); + c.fillText('REL', 64, 84); + t.needsUpdate = true; + } + const side = std(COL.key, {roughness: 0.5}); + const front = new THREE.MeshStandardMaterial({map: t, roughness: 0.5}); + const m = new THREE.Mesh(kg, [side, side, side, side, front, side]); + m.position.set(x, S / 2 + y, D / 2 + 0.0035); + m.castShadow = true; + m.userData.key = k; + g.add(m); + keys[k] = m; + } + return {g, keys, lampC, lampT, elC, elT, face, el, lamp, lastLamp: '', lastEl: ''}; +} +function faceCanvas() { + const c = document.createElement('canvas'); + c.width = 1024; + c.height = 1024; + const g = c.getContext('2d'); + g.fillStyle = '#8f9194'; + g.fillRect(0, 0, 1024, 1024); + // keyboard well + g.fillStyle = '#7d7f82'; + g.fillRect(24, 548, 976, 452); + g.strokeStyle = 'rgba(0,0,0,.25)'; + g.lineWidth = 3; + g.strokeRect(24, 548, 976, 452); + // screws + g.fillStyle = '#5d5f62'; + for (const [x, y] of [[40, 40], [984, 40], [40, 520], [984, 520], [512, 520], [40, 984], [984, 984]]) { + g.beginPath(); + g.arc(x, y, 9, 0, 7); + g.fill(); + } + // nameplate + g.fillStyle = '#6f7174'; + g.fillRect(392, 14, 240, 22); + g.fillStyle = '#d9d7cf'; + g.font = font(600, 17); + g.textAlign = 'center'; + g.textBaseline = 'middle'; + g.fillText('DISPLAY & KEYBOARD', 512, 26); + return c; +} +// lamp panel: 2 columns of 7 [D]; lit lamps: white (status) or amber (caution) +const CAUTION = new Set(['TEMP', 'GIMBAL LOCK', 'PROG', 'RESTART', 'TRACKER', 'ALT', 'VEL']); +function drawLamps(d, lamps) { + drawLampPanel(d.lampC.getContext('2d'), d.lampC.width, d.lampC.height, lamps); + d.lampT.needsUpdate = true; +} +export function drawLampPanel(g, W, H, lamps) { + g.fillStyle = '#4b4d50'; + g.fillRect(0, 0, W, H); + const cw = (W - 30) / 2; + const ch = (H - 40) / 7; + LAMPS.forEach((rowL, r) => + rowL.forEach((name, c) => { + const x = 10 + c * (cw + 10); + const y = 10 + r * (ch + 3.3); + const on = name && lamps[name]; + g.fillStyle = on ? (CAUTION.has(name) ? AMBER : '#f4f0e0') : '#a6a59c'; + g.fillRect(x, y, cw, ch); + if (!name) return; + g.fillStyle = on ? '#2b2210' : '#6e6d66'; + g.font = font(700, name.length > 9 ? 25 : 29); + g.textAlign = 'center'; + g.textBaseline = 'middle'; + if ('letterSpacing' in g) g.letterSpacing = '1px'; + const parts = name.length > 9 ? name.split(' ') : [name]; + parts.forEach((p, i) => g.fillText(p, x + cw / 2, y + ch / 2 + (i - (parts.length - 1) / 2) * 24 + 2)); + }), + ); +} +// the EL panel: COMP ACTY, PROG, VERB, NOUN, three signed 5-digit registers, green on black +export function drawEL(g, W, H, s, green = ACCENT) { + const off = 'rgba(53,194,106,0.06)'; + g.fillStyle = '#0d0f0e'; + g.fillRect(0, 0, W, H); + const lab = (t, x, y, w, on = true) => { + g.fillStyle = on ? green : '#0d0f0e'; + g.fillRect(x, y, w, 26); + g.fillStyle = on ? '#0d0f0e' : green; + g.font = font(700, 22); + g.textAlign = 'center'; + g.textBaseline = 'middle'; + if ('letterSpacing' in g) g.letterSpacing = '1px'; + g.fillText(t, x + w / 2, y + 14); + }; + // COMP ACTY + if (s.compActy) { + g.fillStyle = green; + g.fillRect(22, 18, 140, 92); + g.fillStyle = '#0d0f0e'; + } else g.fillStyle = 'rgba(53,194,106,0.12)'; + g.font = font(700, 30); + g.textAlign = 'center'; + g.textBaseline = 'middle'; + g.fillText('COMP', 92, 50); + g.fillText('ACTY', 92, 82); + lab('PROG', 252, 16, 120); + lab('VERB', 22, 128, 120); + lab('NOUN', 252, 128, 120); + const dw = 46; + const dh = 70; + drawDigits(g, s.prog, 262, 50, dw, dh, 10, green, off); + drawDigits(g, s.verb, 32, 162, dw, dh, 10, green, off); + drawDigits(g, s.noun, 262, 162, dw, dh, 10, green, off); + for (let r = 0; r < 3; r++) { + const y = 252 + r * 72; + g.fillStyle = 'rgba(53,194,106,0.55)'; + g.fillRect(22, y - 6, W - 44, 3); + drawDigits(g, s.reg[r], 30, y + 2, 46, 60, 9.5, green, off); + } +} +const DIG_STATE = (s) => `${s.compActy}|${s.prog}|${s.verb}|${s.noun}|${s.reg.join('|')}`; + +// ------------------------------------------------------------ a logic module's face: 60 flat-packs, and the enlarged gate +function flatpacks(n, w, h, mats) { + const fg = new THREE.BoxGeometry(0.0064, 0.0036, 0.0012); + const im = new THREE.InstancedMesh(fg, mats.flatpack, n); + const lg = new THREE.BoxGeometry(0.0088, 0.0002, 0.0004); + const leads = new THREE.InstancedMesh(lg, mats.gold, n * 5); + const M = new THREE.Matrix4(); + const per = n / 2; + for (let k = 0; k < n; k++) { + const x = -w / 2 + 0.006 + ((k % per) * (w - 0.012)) / (per - 1); + const y = (Math.floor(k / per) ? -1 : 1) * h * 0.2; + im.setMatrixAt(k, M.makeTranslation(x, y, 0)); + for (let q = 0; q < 5; q++) leads.setMatrixAt(k * 5 + q, M.makeTranslation(x, y - 0.0013 + q * 0.00065, 0.0004)); + } + const g = new THREE.Group(); + g.add(im, leads); + return g; +} + +// ------------------------------------------------------------ the machine +export function buildMachine() { + const root = new THREE.Group(); + const mats = { + mag: std(COL.mag, {roughness: 0.58, metalness: 0.35}), + magB: std(COL.magGreen, {roughness: 0.6, metalness: 0.3}), + strip: std(COL.strip, {roughness: 0.75}), + gold: std(COL.gold, {roughness: 0.42, metalness: 0.8}), + ferrite: std(COL.ferrite, {roughness: 0.5, metalness: 0.2}), + ferriteHi: std('#26231f', {roughness: 0.42, metalness: 0.25}), + coreSel: std('#26231f', {roughness: 0.42, metalness: 0.25, emissive: new THREE.Color(ACCENT), emissiveIntensity: 0}), + copper: std(COL.copper, {roughness: 0.45, metalness: 0.7}), + copperSheath: std('#9c5f37', {roughness: 0.6, metalness: 0.5, transparent: true, opacity: 0.55, depthWrite: false}), + copperDim: std('#8e5a36', {roughness: 0.6, metalness: 0.5, transparent: true, opacity: 0.5, depthWrite: false}), + wire: std('#c07a44', {roughness: 0.4, metalness: 0.7, emissive: new THREE.Color(ACCENT), emissiveIntensity: 0}), + inhibit: std('#6f6b63', {roughness: 0.5, metalness: 0.4, emissive: new THREE.Color(ACCENT), emissiveIntensity: 0}), + mark: new THREE.MeshBasicMaterial({color: '#f4efdf'}), + fine: std('#7d5233', {roughness: 0.5, metalness: 0.6, emissive: new THREE.Color(ACCENT), emissiveIntensity: 0}), + erasSel: std('#26231f', {roughness: 0.42, metalness: 0.25, emissive: new THREE.Color(ACCENT), emissiveIntensity: 0}), + flatpack: std('#1f1f22', {roughness: 0.4, metalness: 0.3}), + black: std(COL.black, {roughness: 0.65}), + }; + const clipPlane = new THREE.Plane(new V3(0, 0, -1), 0.02); + const shells = []; + const A = {}; + + // ------------------------------------------------ tray A: logic + const agc = new THREE.Group(); + agc.position.x = L.x0; + root.add(agc); + const ta = tray({len: L.len, wid: L.wid, h: L.trayH, mat: mats.mag, dark: COL.magDark, holes: true}); + agc.add(ta.g); + shells.push(...ta.shell); + // end connector (the gold field on the photo's front end) and its cover plate + const connA = new THREE.Group(); + connA.position.set(L.len / 2 + 0.004, 0.042, 0); + const field = new THREE.Mesh(new THREE.PlaneGeometry(0.2, 0.026), std('#8a7440', {roughness: 0.5, metalness: 0.7, emissive: new THREE.Color(ACCENT), emissiveIntensity: 0})); + field.rotation.y = Math.PI / 2; + connA.add(field); + connA.add(box(0.005, 0.034, 0.23, mats.magB, -0.002, 0, 0)); + agc.add(connA); + const strips = []; + const SW = 0.0136; + const stripLen = 0.255; + const groups = [ + {x: -0.148, n: 14, from: 0}, + {x: 0.142, n: 17, from: 14}, + ]; + const label = (name) => { + const t = labelTex(name, {w: 512, h: 40, px: 30, color: '#57534a', spacing: 4}); + return new THREE.MeshStandardMaterial({map: t, transparent: true, roughness: 0.8}); + }; + for (const gr of groups) + for (let i = 0; i < gr.n; i++) { + const k = gr.from + i; + const name = k < 24 ? `LOGIC MODULE A${k + 1}` : `INTERFACE MODULE A${k + 1}`; + const s = new THREE.Group(); + s.add(box(stripLen, 0.06, SW - 0.0012, mats.strip, 0, 0.03, 0)); + const lab = new THREE.Mesh(new THREE.PlaneGeometry(stripLen * 0.62, 0.0046), label(name)); + lab.rotation.x = -Math.PI / 2; + lab.position.set(0, 0.0602, 0); + s.add(lab); + s.position.set(gr.x, 0.006, -L.wid / 2 + 0.016 + (i + 0.5) * ((L.wid - 0.032) / gr.n)); + agc.add(s); + strips.push(s); + } + // module A13 opened: its flat-packs on the face that comes up, and one enlarged gate + const logicK = 12; + const logicMod = strips[logicK]; + const fp = flatpacks(60, stripLen - 0.02, 0.05, mats); + fp.position.set(0, 0.03, SW / 2 + 0.0002); + logicMod.add(fp); + const bigGate = new THREE.Group(); + { + const b = box(0.064, 0.038, 0.012, mats.flatpack, 0, 0, 0); + bigGate.add(b); + for (let q = 0; q < 5; q++) + for (const s of [1, -1]) { + const lead = box(0.03, 0.0016, 0.004, mats.gold, s * 0.045, -0.014 + q * 0.007, 0); + bigGate.add(lead); + } + const t = labelTex('2 × NOR · 3 INPUTS', {w: 512, h: 96, px: 44, color: '#d9d3c0', spacing: 3}); + const lab = new THREE.Mesh(new THREE.PlaneGeometry(0.052, 0.0098), new THREE.MeshBasicMaterial({map: t, transparent: true})); + lab.position.z = 0.0062; + bigGate.add(lab); + } + bigGate.visible = false; + agc.add(bigGate); + + // ------------------------------------------------ tray B: memory, the rope bay + const tb = new THREE.Group(); + agc.add(tb); + const tbt = tray({len: L.len, wid: L.wid, h: L.trayH, mat: mats.magB, dark: '#6f735f', holes: true}); + tb.add(tbt.g); + shells.push(...tbt.shell); + // X-ribbed plate, inside, over its part of the tray + const xr = new THREE.Group(); + { + const w = 0.14; + const d = L.wid - 0.02; + xr.add(box(w, 0.004, d, mats.magB, 0, 0.002, 0)); + const ang = Math.atan2(d, w); + const len = Math.hypot(w, d); + for (const s of [1, -1]) { + const r = box(len, 0.008, 0.006, mats.magB, 0, 0.006, 0); + r.rotation.y = s * ang; + xr.add(r); + } + xr.position.set(0.225, 0.055, 0); + } + tb.add(xr); + // memory electronics B7-B17, on edge, across the tray + const bNames = ['OSCILLATOR B7', 'ALARM B8', 'ERASABLE DRIVER B9-10', 'ERASABLE DRIVER B9-10', 'CURRENT SWITCH B11', 'ERASABLE MEMORY B12', 'SENSE AMPLIFIER B13-14', 'SENSE AMPLIFIER B13-14', 'STRAND SELECT B15', 'ROPE DRIVER B16-17', 'ROPE DRIVER B16-17']; + const bStrips = []; + bNames.forEach((name, i) => { + const s = new THREE.Group(); + const isE = name.startsWith('ERASABLE MEMORY'); + const lenB = 0.26; + s.add(box(lenB, 0.05, 0.0225, isE ? mats.black : mats.strip, 0, 0.025, 0)); + const lab = new THREE.Mesh(new THREE.PlaneGeometry(lenB * 0.66, 0.0062), isE ? new THREE.MeshStandardMaterial({map: labelTex(name.replace('B12', 'MODULE B12'), {w: 512, h: 40, px: 30, color: '#e8e2cf', spacing: 4}), transparent: true}) : label(name.replace(/ B/, ' MODULE B'))); + lab.rotation.x = -Math.PI / 2; + lab.position.set(0, 0.0502, 0); + s.add(lab); + s.position.set(0.0, 0.034, -L.wid / 2 + 0.018 + (i + 0.5) * ((L.wid - 0.036) / 11)); + tb.add(s); + bStrips.push(s); + }); + const eras = bStrips[5]; + const plane = erasPlane(mats); + plane.g.position.set(0, 0.025, 0.0114); + plane.g.visible = false; + eras.add(plane.g); + // the rope bay, at the -x end: 3 across, 2 deep + const ropes = []; + const bayX = -L.len / 2 + 0.006 + ROPE.len / 2 + 0.004; + for (let i = 0; i < 6; i++) { + const m = ropeModule(i, mats); + const col = i % 3; + const lay = Math.floor(i / 3); + m.home = new V3(bayX, 0.052 - lay * 0.032, (col - 1) * (ROPE.wid + 0.006)); + m.g.position.copy(m.home); + tb.add(m.g); + ropes.push(m); + } + // module B1 (top layer, middle) is the one that comes out + const b1 = ropes[1]; + const det = ropeDetail(mats); + det.g.visible = false; + b1.g.add(det.g); + // windows on tray B's outer face over the rope bay (it faces up when the box is closed) + { + const wm = std('#4a4a40', {roughness: 0.8}); + for (let c = 0; c < 3; c++) { + const w = new THREE.Mesh(new THREE.PlaneGeometry(ROPE.len - 0.03, ROPE.wid - 0.024), wm); + w.rotation.x = Math.PI / 2; + w.position.set(bayX, -0.0003, (c - 1) * (ROPE.wid + 0.006)); + tb.add(w); + shells.push(w); + } + const xo = new THREE.Group(); + const w = 0.36; + const d = L.wid - 0.03; + const ang = Math.atan2(d, w); + for (const s of [1, -1]) { + const r = box(Math.hypot(w, d), 0.005, 0.009, mats.magB, 0, -0.0025, 0); + r.rotation.y = s * ang; + xo.add(r); + } + xo.position.set(0.1, 0, 0); + tb.add(xo); + shells.push(...xo.children); + } + + // ------------------------------------------------ the DSKY + const dsky = dskyUnit(mats); + dsky.g.position.copy(L.dsky); + dsky.g.rotation.y = L.dskyYaw; + root.add(dsky.g); + // a cable from the DSKY to the AGC's end connector + { + const pts = [new V3(L.dsky.x - 0.06, 0.05, L.dsky.z - 0.11), new V3(L.dsky.x - 0.1, 0.012, L.dsky.z - 0.2), new V3(0.18, 0.01, -0.1), new V3(L.x0 + L.len / 2 + 0.03, 0.03, -0.02)]; + const cab = new THREE.Mesh(new THREE.TubeGeometry(new THREE.CatmullRomCurve3(pts), 60, 0.0075, 10), std('#3a3833', {roughness: 0.75})); + cab.castShadow = true; + root.add(cab); + } + + for (const m of shells) if (m.material) m.material = m.material.clone(); + const shellMats = [...new Set(shells.map((m) => m.material))]; + + // anchors for callouts (world space, filled by update) + const anchors = {}; + const tmp = new V3(); + const world = (obj, local) => obj.localToWorld(tmp.copy(local)).clone(); + let cutWas = ''; + + /** + * fx: {open (0 closed, 1 apart), rope (0 in, 1 out), ropeCover (0 on, 1 off), ropeDetail (0..1), read {phase, on}, + * eras (0 in, 1 up), erasRead {phase, bit, on}, logic (0 in, 1 up), gate (0..1), rr (0..1 connector glow), + * cut ('' | 'case'), dsky {lamps, el: {compActy, prog, verb, noun, reg}, press: {key: 0..1}}} + */ + function update(fx) { + // tray B: lift, flip about the long axis, slide beside A, lower + const o = fx.open; + const k1 = smooth(o / 0.28); + const k2 = smooth((o - 0.22) / 0.56); + const k3 = smooth((o - 0.72) / 0.28); + tb.rotation.x = Math.PI * (1 - k2); + const yClosed = 2 * L.trayH; + // local y 0 is the tray's outer face: at 2 x 85 mm when closed (flipped), on the floor when apart + tb.position.set(0, mix(yClosed, 0, k3) + L.liftY * (k1 - k3), L.openZ * k2); + // rope module B1: out along -x, then up and clear of the tray + const r1 = smooth(fx.rope / 0.6); + const r2 = smooth((fx.rope - 0.55) / 0.45); + b1.g.position.set(b1.home.x - 0.25 * r1, b1.home.y + 0.075 * r2, b1.home.z); + b1.cover.position.y = ROPE.th + 0.0011 + 0.05 * smooth(fx.ropeCover); + b1.cover.visible = fx.ropeCover < 0.98; + b1.cover.children.forEach((c) => c.material && ((c.material.transparent = true), (c.material.opacity = 1 - smooth((fx.ropeCover - 0.4) / 0.6)))); + const inside = fx.ropeDetail > 0.01; + if (det.g.visible !== inside) { + det.g.visible = inside; + b1.bundles.visible = !inside; + b1.sheath.visible = !inside; + // the 9 detailed cores replace their instances + for (let k = 0; k < DET_N; k++) { + const idx = (det.layer * ROPE.rows + det.row) * ROPE.cols + det.c0 + k; + b1.cores.setMatrixAt(idx, inside ? M0.makeScale(0, 0, 0) : M0.makeTranslation(coreX(det.c0 + k), coreY(det.layer), coreZ(det.row))); + } + b1.cores.instanceMatrix.needsUpdate = true; + } + // the read inside one MCT: inhibit lines, then the set, then the reset whose flux the sense lines catch + const rd = fx.read || {phase: -1}; + const ph = rd.phase; + const inh = ph >= 0 && ph < 0.45 ? smooth(ph / 0.06) * (1 - smooth((ph - 0.38) / 0.07)) : 0; + const setK = ph >= 0.12 && ph < 0.45 ? smooth((ph - 0.12) / 0.05) * (1 - smooth((ph - 0.36) / 0.06)) : 0; + const resK = ph >= 0.45 && ph < 0.95 ? smooth((ph - 0.45) / 0.05) * (1 - smooth((ph - 0.85) / 0.1)) : 0; + det.inhib.forEach((m) => (m.material.emissiveIntensity = inh * 0.75)); + det.setLine.material.emissiveIntensity = Math.max(setK, resK) * 0.75; + const ck = rd.core ?? (DET_N - 1) / 2; + const sel = det.words[ck].bits || []; + det.wires.forEach((m, j) => { + const lit = sel[j] ? resK : 0; + m.material.emissiveIntensity = lit * 0.65; + m.material.color.set(lit > 0.5 ? '#7fcf9c' : '#c07a44'); + }); + det.cores.forEach((m, k) => (m.material.emissiveIntensity = k === ck ? Math.max(setK, resK) * 0.55 : 0)); + // B12 rises; its cover window shows the plane + const e1 = smooth(fx.eras); + eras.position.y = 0.034 + 0.085 * e1; + plane.g.visible = fx.eras > 0.3; + const er = fx.erasRead || {phase: -1, bit: 1}; + const ep = er.phase; + // read: half currents on one X and one Y line drive the core to 0; the sense line sees a 1. Rewrite: back to 1 + const rdK = ep >= 0 && ep < 0.5 ? smooth(ep / 0.05) * (1 - smooth((ep - 0.4) / 0.08)) : 0; + const wrK = ep >= 0.55 && ep < 1 ? smooth((ep - 0.55) / 0.05) * (1 - smooth((ep - 0.9) / 0.08)) : 0; + const [sc, sr] = ERAS.sel; + plane.xl.forEach((m, i) => (m.material.emissiveIntensity = i === sr ? Math.max(rdK, wrK) * 0.9 : 0)); + plane.yl.forEach((m, i) => (m.material.emissiveIntensity = i === sc ? Math.max(rdK, wrK) * 0.9 : 0)); + plane.sense.material.emissiveIntensity = er.bit && ep >= 0.18 && ep < 0.45 ? 0.9 * (1 - smooth((ep - 0.35) / 0.1)) : 0; + // the magnetisation: 1 = mark at the top of the ring, 0 = bottom; it turns while the core switches + let ang = er.bit ? Math.PI / 2 : -Math.PI / 2; + if (ep >= 0) { + if (er.bit) { + const a = smooth((ep - 0.12) / 0.14); + const b = smooth((ep - 0.62) / 0.14); + ang = Math.PI / 2 - Math.PI * a + Math.PI * b; + } + } + const rr = 0.00072; + tmp.set(Math.cos(ang) * rr, Math.sin(ang) * rr, 0).applyQuaternion(plane.selCore.quaternion); + plane.mark.position.copy(plane.centre).add(tmp); + mats.erasSel.emissiveIntensity = Math.max(rdK, wrK) * 0.6 * (ep >= 0 ? 1 : 0); + // logic module A13 up, one gate enlarged in front of it + const l1 = smooth(fx.logic); + logicMod.position.y = 0.006 + 0.09 * l1; + bigGate.visible = fx.gate > 0.01; + { + const gk = smooth(fx.gate); + bigGate.position.set(logicMod.position.x + 0.03, 0.2 + 0.02 * gk, logicMod.position.z + 0.07); + bigGate.scale.setScalar(0.2 + 0.8 * gk); + } + // the radar's pulses into the interface connector + field.material.emissiveIntensity = (fx.rr || 0) * 0.6; + // section of the closed case + const cut = fx.cut === 'case' && o < 0.02 ? 'case' : ''; + if (cut !== cutWas) { + cutWas = cut; + for (const m of shellMats) { + m.clippingPlanes = cut ? [clipPlane] : []; + m.needsUpdate = true; + } + } + clipPlane.constant = 0.02; + // the DSKY + const d = fx.dsky; + if (d) { + const ls = JSON.stringify(d.lamps); + if (ls !== dsky.lastLamp) { + dsky.lastLamp = ls; + drawLamps(dsky, d.lamps); + } + const es = DIG_STATE(d.el); + if (es !== dsky.lastEl) { + dsky.lastEl = es; + drawEL(dsky.elC.getContext('2d'), dsky.elC.width, dsky.elC.height, d.el); + dsky.elT.needsUpdate = true; + } + for (const [k, m] of Object.entries(dsky.keys)) m.position.z = L.dskyD / 2 + 0.0035 - 0.0024 * (d.press?.[k] || 0); + } + // anchors + root.updateMatrixWorld(true); + anchors.trayA = world(agc, new V3(-0.05, 0.07, L.wid / 2)); + anchors.trayB = world(tb, new V3(0.05, 0.06, 0)); + anchors.logic = world(logicMod, new V3(0.05, 0.06, 0)); + anchors.gate = world(bigGate, new V3(0.02, 0.01, 0.006)); + anchors.rope = world(b1.g, new V3(0, ROPE.th, 0)); + anchors.ropeEnd = world(b1.g, new V3(ROPE.len / 2, ROPE.th * 0.5, 0)); + anchors.core = world(b1.g, det.anchor.clone()); + anchors.coreNext = world(b1.g, det.anchor.clone().add(new V3(ROPE.px * 3, 0.0045, 0))); + anchors.inhib = world(b1.g, det.anchor.clone().add(new V3(-ROPE.px * 3, -0.0045, 0))); + anchors.eras = world(eras, new V3(0.08, 0.05, 0)); + anchors.erasCore = world(eras, plane.centre.clone().add(new V3(0, 0.025, 0.0114))); + anchors.erasSense = world(eras, new V3(ERAS.cols * ERAS.px * 0.5 + 0.0015, 0.025, 0.0114)); + anchors.dsky = world(dsky.g, new V3(0, L.dskyS * 0.75, L.dskyD / 2)); + anchors.dskyEl = world(dsky.g, new V3(0.048, L.dskyS / 2 + 0.05, L.dskyD / 2)); + anchors.dskyKeys = world(dsky.g, new V3(0, L.dskyS / 2 - 0.05, L.dskyD / 2)); + anchors.dskyProg = world(dsky.g, new V3(-0.028, L.dskyS / 2 + 0.077, L.dskyD / 2)); + anchors.conn = world(connA, new V3(0, 0, 0)); + anchors.xrib = world(tb, new V3(0.225, 0.06, 0)); + anchors.erasMod = world(eras, new V3(-0.06, 0.05, 0)); + } + update({open: 0, rope: 0, ropeCover: 0, ropeDetail: 0, eras: 0, logic: 0, gate: 0}); + return {root, update, anchors, dsky, det, plane, b1, tb, agc, eras, logicMod, bigGate, shellMats}; +} diff --git a/machines/rope/agc-shared/console.js b/machines/rope/agc-shared/console.js new file mode 100644 index 0000000..112c5ba --- /dev/null +++ b/machines/rope/agc-shared/console.js @@ -0,0 +1,435 @@ +// Rope's overlay, drawn as a sheet of the MIT Instrumentation Lab's documentation and a DSKY: the mission clock top +// left in seven-segment figures, the DSKY's face below it (the same drawing as the 3D panel), the Executive (duty, +// core sets, VAC areas, one millisecond of memory cycles, the alarm) on the right, the working subsystem's detail +// bottom left, the operator's buttons bottom centre, the title block (cartouche) bottom right, a one-line caption and +// callouts with thin leaders into the machine. Fixed 1600 x 900 CSS layout; update(s) redraws every live part. +import {ACCENT, ACCENT_INK, AMBER, drawEL, drawLampPanel} from './agc.js'; +import {AGC, EXEC, MCT, MCT_PER_S, ADDS_PER_S, ROPE_WORDS, octal} from './machine.js'; +import {svgDigits, digitsWidth} from './seg7.js'; +import {FAMILY} from './fonts.js'; +import {nf, T as tr} from './i18n.js'; + +export const C = {paper: '#efe8d8', panel: 'rgba(241,235,221,.9)', ink: '#2b2925', mute: '#7a7062', faint: 'rgba(70,58,40,.32)', line: 'rgba(70,58,40,.55)', acc: ACCENT_INK, accEl: ACCENT, amber: AMBER, amberInk: '#a86a06', steal: '#9c4a2e'}; +export const SUBS = ['rope', 'eras', 'nor', 'clock', 'exec', 'dsky', 'iface']; +export const CUTS = ['case', 'tray', 'module']; +export const VIEWS = ['axo', 'dskyFace', 'ropeIn', 'graze']; +const CSS = ` +#app{font-family:${FAMILY};color:${C.ink};-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums} +.ui{position:absolute;inset:0;pointer-events:none} +.pn{position:absolute;background:${C.panel};border:1px solid ${C.line}} +.pn:before{content:'';position:absolute;inset:3px;border:.6px solid ${C.faint};pointer-events:none} +.hd{position:absolute;font-weight:700;font-size:15px;letter-spacing:2.2px;text-transform:uppercase;white-space:nowrap} +.sm{position:absolute;font-weight:500;font-size:12.5px;letter-spacing:1.3px;text-transform:uppercase;color:${C.mute};white-space:nowrap} +.tx{position:absolute;font-weight:500;font-size:14px;line-height:18px;letter-spacing:.3px} +.tb{position:absolute;height:28px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;letter-spacing:1.6px;text-transform:uppercase;border:1px solid ${C.line};background:${C.panel};color:${C.ink};white-space:nowrap;box-sizing:border-box} +.tb.on{background:${C.ink};color:${C.paper}} +.tb.on:after{content:'';position:absolute;left:6px;right:6px;bottom:3px;height:2px;background:${C.accEl}} +.gl{position:absolute;font-weight:600;font-size:12px;letter-spacing:2px;color:${C.mute};text-transform:uppercase} +.call{position:absolute;white-space:nowrap;background:rgba(241,235,221,.88);padding:2px 8px 4px;margin:-2px -8px 0} +.call b{display:block;font-weight:700;font-size:28px;line-height:30px;letter-spacing:.6px;text-transform:uppercase} +.call span{display:block;font-weight:500;font-size:15px;letter-spacing:1.8px;color:${C.mute};text-transform:uppercase;margin-top:1px} +.cur{position:absolute;left:0;top:0;z-index:50;filter:drop-shadow(0 1px 2px rgba(40,30,10,.35))} +.ring{position:absolute;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;border:2px solid ${C.acc};opacity:0;z-index:49} +.cap{position:absolute;left:380px;width:840px;top:756px;text-align:center;font-weight:600;font-size:21px;line-height:27px;letter-spacing:.5px} +.cap span{background:rgba(241,235,221,.9);padding:1px 8px;box-decoration-break:clone;-webkit-box-decoration-break:clone} +.alarm{position:absolute;background:${C.amber};color:#2a1d05;border:1px solid #6b4a0c} +`; +const el = (h) => { + const d = document.createElement('div'); + d.innerHTML = h.trim(); + return d.firstElementChild; +}; +const KIND_LABEL = () => ({servicer: tr('job:servicer'), monitor: tr('job:monitor'), lpd: tr('job:lpd'), charin: tr('job:charin')}); +export const pad = (n, w) => String(n).padStart(w, '0'); +/** GET as hh:mm:ss.cc */ +export function getText(s) { + const t = Math.max(0, s); + const h = Math.floor(t / 3600); + const m = Math.floor((t % 3600) / 60); + const sec = t % 60; + return `${pad(h, 3)}:${pad(m, 2)}:${pad(Math.floor(sec), 2)}.${pad(Math.floor((sec % 1) * 100), 2)}`; +} + +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; + }; + + // ------------------------------------------------------------ the mission clock + add(`
`); + add(`
${tr('clockTitle')}
`); + const getSvg = add(``); + add(`
${tr('mctSince')}
`); + const mctSvg = add(``); + const rateTx = add(`
`); + const phaseTx = add(`
`); + + // ------------------------------------------------------------ the DSKY, as on its face + add(`
`); + const lampCv = add(``); + const elCv = add(``); + add(`
${tr('dskyTitle')}
`); + const dskyTx = add(`
`); + + // ------------------------------------------------------------ the Executive + const EX = {x: 1262, y: 32, w: 304}; + add(`
`); + add(`
${tr('execTitle')}
`); + add(`
${tr('dutyTitle')}
`); + const dutySvg = add(``); + const dutyTot = add(``); + add(`
${tr('setsTitle')}
`); + const busyTx = add(`
`); + const setsSvg = add(``); + add(`
${tr('vacTitle')}
`); + const vacSvg = add(``); + add(`
${tr('stripTitle')}
`); + const stripSvg = add(``); + const alarmBox = add(``); + const restartTx = add(`
`); + + // ------------------------------------------------------------ the subsystem's detail + const DT = {x: 34, y: 452, w: 304, h: 326}; + add(`
`); + const detHd = add(`
`); + const detSvg = add(``); + + // ------------------------------------------------------------ buttons + const btn = {}; + const BX = 372; + add(`
${tr('grpSubs')}
`); + SUBS.forEach((k, i) => (btn[k] = add(`
${tr('sub:' + k)}
`))); + add(``); + const BY = 32; + const BXC = 372; + add(`
${tr('grpCuts')}
`); + CUTS.forEach((k, i) => (btn[k] = add(`
${tr('cut:' + k)}
`))); + const BXV = 712; + add(`
${tr('grpViews')}
`); + VIEWS.forEach((k, i) => (btn[k] = add(`
${tr('view:' + k)}
`))); + + // ------------------------------------------------------------ the title block + const CB = {x: 1262, y: 688, w: 304, h: 178}; + add(`
`); + const hl = (y) => add(`
`); + const vl = (x, y0, y1) => add(`
`); + hl(66); + hl(92); + hl(116); + vl(178, 116, CB.h); + add(`
${tr('title')}
`); + add(`
${tr('titleSub')}
`); + add(`
${tr('titleMission')}
`); + add(`
${tr('titleSources')}
`); + add(`
${tr('titleNot')}
`); + add(`
${tr('titleSheet')}
`); + add(`
${tr('titleFigs', nf(AGC.massKg), nf(AGC.powerW))}
`); + + // ------------------------------------------------------------ caption, callouts, the pointer + const cap = add(`
`); + const callSvg = add(``); + const callG = add(`
`); + const ring = add(`
`); + const cur = add(`
`); + + const centre = (n) => { + const l = parseFloat(n.style.left); + const t = parseFloat(n.style.top); + return [l + parseFloat(n.style.width) / 2, t + 14]; + }; + const spots = Object.fromEntries(Object.entries(btn).map(([k, n]) => [k, centre(n)])); + 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)})`; + }; + + // caches so the SVGs are rebuilt only when they change + const last = {}; + const put = (key, node, html) => { + if (last[key] === html) return; + last[key] = html; + node.innerHTML = html; + }; + const txt = (x, y, s, o = {}) => + `${s}`; + const hatch = ``; + + // ------------------------------------------------------------ the detail panel, per subsystem + const drawDetail = (d) => { + const W = DT.w - 28; + let h = hatch; + if (d.kind === 'rope') { + // the word: 16 cells, filled as the sense amplifiers see them + const w = ROPE_WORDS[d.w]; + h += txt(0, 14, tr('ropeAddr', w.bank, octal(w.addr, 4), d.place.module + 1, d.place.core, d.place.strand), {size: 13.5, w: 600}); + h += txt(0, 36, w.op, {size: 26, w: 700, ls: 1.5}); + if (w.label) h += txt(W, 36, w.label, {size: 14, w: 600, anchor: 'end', fill: C.mute}); + const cw = W / 16; + for (let b = 0; b < 16; b++) { + const x = b * cw; + const seen = b < d.fill; + const v = w.bits[b]; + h += ``; + if (seen) h += svgDigits(String(v), x + cw / 2 - 5, 56, 10, 22, 0, v ? C.paper : C.ink, null, 0.05); + h += txt(x + cw / 2, 98, b === 15 ? 'P' : String(15 - b), {size: 10.5, w: 500, anchor: 'middle', fill: C.mute, ls: 0}); + } + h += txt(0, 124, tr('ropeOctal'), {size: 12.5, w: 500, fill: C.mute}); + h += svgDigits(d.fill >= 16 ? octal(w.word) : ' ', 0, 132, 18, 32, 5, C.ink, 'rgba(70,58,40,.08)'); + h += txt(W, 150, tr('ropeParity', w.parity), {size: 13, w: 600, anchor: 'end'}); + h += txt(0, 196, tr('ropePhase'), {size: 12.5, w: 500, fill: C.mute}); + const phases = [tr('ph:inhibit'), tr('ph:set'), tr('ph:reset'), tr('ph:strobe')]; + phases.forEach((p, i) => { + const on = d.stage === i; + h += ``; + h += txt((i * W) / 4 + W / 8, 222, p, {size: 13, w: 700, anchor: 'middle', fill: on ? C.paper : C.ink, ls: 1}); + }); + h += `
${tr('ropeNote', nf(AGC.fixedWords), AGC.ropeModules, nf(AGC.coresPerModule), AGC.senseLinesPerCore)}
`; + } else if (d.kind === 'eras') { + h += txt(0, 14, tr('erasAddr', d.set), {size: 13.5, w: 600}); + h += txt(0, 36, d.job ? tr('erasJob', KIND_LABEL()[d.job]) : tr('erasFree'), {size: 22, w: 700, ls: 1}); + const cw = W / 16; + for (let b = 0; b < 16; b++) { + const x = b * cw; + const v = d.bits[b]; + const isPlane = b === 1; + const shown = d.state === 'read' ? b < d.fill : d.state === 'gone' ? false : true; + h += ``; + if (shown) h += svgDigits(String(v), x + cw / 2 - 5, 56, 10, 22, 0, v ? C.paper : C.ink, null, 0.05); + h += txt(x + cw / 2, 98, b === 15 ? 'P' : String(15 - b), {size: 10.5, w: 500, anchor: 'middle', fill: isPlane ? C.acc : C.mute, ls: 0}); + } + h += txt(0, 124, tr('erasPlane'), {size: 12.5, w: 600, fill: C.acc}); + const steps = [tr('es:read'), tr('es:sense'), tr('es:rewrite')]; + steps.forEach((p, i) => { + const on = d.stage === i; + h += ``; + h += txt((i * W) / 3 + W / 6, 154, p, {size: 13, w: 700, anchor: 'middle', fill: on ? C.paper : C.ink, ls: 1}); + }); + h += `
${tr('erasNote', nf(AGC.erasableWords), nf(AGC.erasableWords * AGC.wordBits))}
`; + } else if (d.kind === 'nor') { + // RTL NOR: three transistors, one collector resistor; inputs from three timing pulses + const [a, b, c] = d.in; + const out = a || b || c ? 0 : 1; + const on = (v) => (v ? C.acc : C.ink); + h += txt(0, 14, tr('norHead'), {size: 13.5, w: 600}); + const y0 = 40; + h += `` + txt(236, y0 + 4, 'V+', {size: 12, w: 600}); + h += ``; + h += ``; + h += `` + txt(244, y0 + 57, `Q = ${out}`, {size: 16, w: 700, fill: on(out)}); + [a, b, c].forEach((v, i) => { + const x = 60 + i * 60; + const yb = y0 + 84; + h += ``; + h += ``; + h += ``; + h += ``; + h += ``; + h += txt(x - 34, yb + 4, 'ABC'[i], {size: 14, w: 700, anchor: 'end', fill: on(v)}) + txt(x - 19, yb + 24, String(v), {size: 13, w: 700, anchor: 'middle', fill: on(v)}); + }); + h += `` + txt(206, y0 + 118, '0 V', {size: 12, w: 600}); + // truth table of NOR 3 + const ty = 176; + h += txt(0, ty, 'A B C → Q', {size: 13, w: 700, ls: 2}); + for (let k = 0; k < 8; k++) { + const ia = (k >> 2) & 1; + const ib = (k >> 1) & 1; + const ic = k & 1; + const cur = ia === a && ib === b && ic === c; + const x = (k % 4) * 69; + const y = ty + 10 + Math.floor(k / 4) * 22; + h += ``; + h += txt(x + 33, y + 14, `${ia}${ib}${ic} → ${ia || ib || ic ? 0 : 1}`, {size: 13, w: 600, anchor: 'middle', fill: cur ? C.paper : C.ink, ls: 1}); + } + h += `
${tr('norNote', nf(AGC.ics), nf(AGC.ics * AGC.gatesPerIc))}
`; + } else if (d.kind === 'clock') { + h += txt(0, 14, tr('clockHead', nf(AGC.clockHz / 1e6, 3), nf(MCT * 1e6, 2)), {size: 13.5, w: 600}); + const lane = (W - 34) / 12; + for (let p = 0; p < 12; p++) { + const x = 34 + p * lane; + const on = d.pulse === p; + h += ``; + h += txt(x + lane / 2, 44, `T${p + 1}`, {size: 11.5, w: 700, anchor: 'middle', fill: on ? C.paper : C.ink, ls: 0}); + } + h += txt(0, 44, 'MCT', {size: 12, w: 700}); + // the waveform of the 1.024 MHz chain over one MCT + let path = ''; + for (let k = 0; k <= 24; k++) path += `${k ? 'L' : 'M'}${34 + (k * (W - 34)) / 24},${k % 2 ? 62 : 76}${k < 24 ? `L${34 + ((k + 1) * (W - 34)) / 24},${k % 2 ? 62 : 76}` : ''}`; + h += `` + txt(0, 74, '1 MHZ', {size: 11, w: 600}); + const px = 34 + d.phase * (W - 34); + h += ``; + h += txt(0, 110, tr('clockPulse'), {size: 12.5, w: 500, fill: C.mute}); + h += svgDigits(String(d.pulse + 1).padStart(2, ' '), 0, 118, 18, 32, 5, C.acc) + txt(50, 146, '/ 12', {size: 18, w: 700}); + h += `
${tr('clockNote', nf(MCT_PER_S), nf(ADDS_PER_S), nf(MCT * 2e6, 1))}
`; + } else if (d.kind === 'iface') { + h += txt(0, 14, tr('ifHead'), {size: 13.5, w: 600}); + const rows = [ + [tr('if:rr'), d.rr ? nf(EXEC.rrAngles * EXEC.rrPulses * (EXEC.tloss / (EXEC.rrAngles * EXEC.rrPulses * MCT))) : '0', d.rr], + [tr('if:imu'), '≈ 0', false], + [tr('if:lr'), d.lr ? tr('if:lrOn') : '—', false], + ]; + rows.forEach(([name, v, hot], i) => { + const y = 32 + i * 34; + h += ``; + h += txt(8, y + 19, name, {size: 13.5, w: 600}); + h += txt(W - 8, y + 19, v, {size: 15, w: 700, anchor: 'end', fill: hot ? C.steal : C.ink}); + }); + h += txt(0, 152, tr('ifTloss'), {size: 12.5, w: 500, fill: C.mute}); + h += svgDigits(nf((d.rr ? EXEC.tloss : 0) * 100, 1).replace(',', '.'), 0, 160, 18, 32, 5, d.rr ? C.steal : C.ink); + h += txt(110, 188, '%', {size: 20, w: 700}); + h += `
${tr('ifNote', nf(EXEC.rrPulses), nf(EXEC.tlossMax * 100, 2), nf(EXEC.rrAngles * EXEC.rrPulses * MCT * 100, 1))}
`; + } else if (d.kind === 'dsky') { + h += txt(0, 14, tr('dskyHead'), {size: 13.5, w: 600}); + h += `
${d.text}
`; + } else { + // exec: the job list with priorities + h += txt(0, 14, tr('exHead'), {size: 13.5, w: 600}); + h += `
${tr('exNote', EXEC.coreSets, EXEC.vacAreas, nf(EXEC.braking * 100), nf(EXEC.lrConvert * 100, 1), nf(EXEC.n68 * 100), nf(EXEC.tloss * 100))}
`; + } + return h; + }; + + return { + spots, + btn, + root: ui, + pointer, + lampCv, + elCv, + update(s) { + // clock + put('get', getSvg, svgDigits(getText(s.get), 0, 2, 18, 34, 4.5, C.ink, 'rgba(70,58,40,.045)')); + put('mct', mctSvg, svgDigits(nf(Math.floor(s.mct)).replace(/[^0-9]/g, ' '), 0, 2, 12, 22, 3.5, C.ink, null)); + put('rate', rateTx, s.rateText); + put('phase', phaseTx, `P${s.dsky.prog}`); + // DSKY + const dk = JSON.stringify(s.dsky); + if (dk !== last.dsky) { + last.dsky = dk; + drawLampPanel(lampCv.getContext('2d'), 420, 470, s.dsky.lamps); + drawEL(elCv.getContext('2d'), 400, 470, s.dsky); + } + put('dskyTx', dskyTx, s.dskyText); + // duty: stacked bar of what the machine is asked for, against 100 % + { + const W = EX.w - 28; + const X = (v) => (v / 1.1) * W; + const parts = s.duty.parts; + let h = hatch; + let x = 0; + for (const p of parts) { + const w = X(p.v); + h += ``; + x += w; + } + h += `` + txt(X(1) + 4, 12, '100', {size: 11, w: 700}); + const tot = s.duty.total; + parts.forEach((p, i) => { + const lx = (i % 2) * (W / 2); + const ly = 42 + Math.floor(i / 2) * 15; + h += `` + txt(lx + 13, ly + 9, `${tr('duty:' + p.k)} ${nf(p.v * 100, Math.abs(p.v * 100 - Math.round(p.v * 100)) > 0.05 ? 1 : 0)} %`, {size: 12, w: 600, ls: 0.5}); + }); + put('duty', dutySvg, h); + put('dutyTot', dutyTot, svgDigits(String(Math.round(tot * 100)).padStart(3, ' '), 0, 1, 13, 22, 3.5, tot > 1 ? C.amberInk : C.ink, 'rgba(70,58,40,.05)') + txt(56, 22, '%', {size: 16, w: 700})); + } + // core sets + { + const W = EX.w - 28; + let h = ''; + const kl = KIND_LABEL(); + s.sets.forEach((j, k) => { + const y = k * 26; + const run = j && j.run; + h += `` + txt(11, y + 17, String(k), {size: 14, w: 700, anchor: 'middle', fill: j ? C.paper : C.ink, ls: 0}); + h += ``; + if (j) h += txt(36, y + 17, kl[j.kind], {size: 14, w: 700, fill: run ? C.paper : C.ink, ls: 1.2}) + txt(W - 6, y + 17, j.age, {size: 12.5, w: 600, anchor: 'end', fill: run ? C.paper : C.mute, ls: 0.5}); + else h += txt(36, y + 17, tr('setFree'), {size: 13, w: 500, fill: C.mute, ls: 1.2}); + }); + h += txt(0, 8 * 26 + 2, '', {}); + put('sets', setsSvg, h); + } + { + let h = ''; + s.vacs.forEach((v, k) => { + h += `` + txt(k * 40 + 17, 17, `VAC${k + 1}`, {size: 11, w: 700, anchor: 'middle', fill: v ? C.paper : C.ink, ls: 0}); + }); + put('vac', vacSvg, h); + put('busyTx', busyTx, `${tr('busyOf', s.busy, EXEC.coreSets)}`); + } + // one millisecond of memory cycles: jobs, stolen, idle + { + const W = EX.w - 28; + const n = s.strip.length; + const cw = W / n; + let h = hatch; + for (let i = 0; i < n; i++) { + const v = s.strip[i]; + if (v === 's') h += ``; + else if (v === 'j') h += ``; + else h += ``; + } + if (s.stripAt >= 0) h += ``; + h += `` + txt(13, 39, tr('stripJob'), {size: 11.5, w: 600, ls: 0.6}); + h += `` + txt(109, 39, tr('stripSteal'), {size: 11.5, w: 600, ls: 0.6}); + h += `` + txt(203, 39, tr('stripIdle'), {size: 11.5, w: 600, ls: 0.6}); + put('strip', stripSvg, h); + } + // the alarm, then what the restart kept and dropped + { + const a = s.alarm; + if (a && a.k > 0.01) { + alarmBox.style.display = 'block'; + alarmBox.style.opacity = a.k.toFixed(2); + put( + 'alarm', + alarmBox, + `
${tr('alarmHead')}
+ ${svgDigits(String(a.code).padStart(4, '0'), 0, 2, 22, 44, 6, '#2a1d05')} +
${tr('alarm:' + a.code)}
+
${tr('restartKept', KIND_LABEL()[a.kept] ?? '—')}
${tr('restartDropped', a.dropped)}
`, + ); + put('restart', restartTx, ''); + } else { + alarmBox.style.display = 'none'; + put('restart', restartTx, s.execNote || ''); + } + } + // detail + put('detHd', detHd, tr('det:' + s.detail.kind)); + put('det', detSvg, drawDetail(s.detail)); + put('cap', cap, s.caption ? `${s.caption}` : ''); + // buttons + for (const [k, n] of Object.entries(btn)) { + const on = s.sub === k || s.cut === k || s.view === k; + if (n.classList.contains('on') !== on) n.classList.toggle('on', on); + } + // 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); + const o = c.o.toFixed(2); + lh += ``; + ch += `
${c.name}${c.sub}
`; + } + put('callL', callSvg, lh); + put('callG', callG, ch); + pointer(s.cursor); + }, + }; +} +void digitsWidth; diff --git a/machines/rope/agc-shared/executive.js b/machines/rope/agc-shared/executive.js new file mode 100644 index 0000000..a34a57f --- /dev/null +++ b/machines/rope/agc-shared/executive.js @@ -0,0 +1,305 @@ +// The Executive's log, planned once: the LGC's jobs from PDI to touchdown, simulated in 1 ms steps, with the +// rendezvous radar's cycle steals taken off the top of every millisecond. Everything the DSKY and the Executive panel +// show is read from this log at the frame's mission time. No three.js. +// +// The jobs [E1] [E]: SERVICER every 2 s (needs a core set and a VAC area), its duty set by the phase (braking 85 %, +// +2 % for the landing radar once it locks, approach 90.5 %, P66 80 %); a Verb 16 monitor job every second while the +// crew has one up (3 %, lower priority than SERVICER); in P64 the landing-point-designator job every 2 s; one short +// keyboard job per key press. A job holds its core set from its request until it ends. When a request finds the 8 core +// sets (or the 5 VAC areas) busy: BAILOUT, alarm 1202 (1201), a software restart that keeps only the newest SERVICER, +// drops the rest and the Verb 16 monitor, and lights PROG. +import {CREW_KEYS, EVENTS, EXEC, DESCENT_END} from './machine.js'; + +export const DT = 0.001; +export const SAMPLE = 0.01; // the log keeps one sample every 10 ms +export const JOB = {servicer: 0, monitor: 1, lpd: 2, charin: 3}; +const PRIO = {servicer: 20, monitor: 10, lpd: 10, charin: 30}; // relative order only [E] +const NEEDS_VAC = {servicer: true, monitor: false, lpd: true, charin: false}; +const WORK = {monitor: EXEC.n68 * EXEC.monitorPeriod, lpd: EXEC.approachJobs, charin: 0.004}; +const LPD_START = 12; +const LR_RAMP = 24; // s for the radar's data to come fully into the navigation [E], calibrated on the first alarm + +/** the phase's program number at s */ +export const progAt = (s) => (s < EVENTS.p64 ? 63 : s < EVENTS.p66 ? 64 : s < EVENTS.contact + 3 ? 66 : 68); +/** SERVICER's duty (fraction of the machine) at s */ +export function servicerDuty(s) { + const p = progAt(s); + if (p === 63) return EXEC.braking + (s > EVENTS.alt ? EXEC.lrConvert * Math.min(1, (s - EVENTS.alt) / LR_RAMP) : 0); + if (p === 64) { + const k = Math.min(1, (s - EVENTS.p64) / (EVENTS.p66 - EVENTS.p64)); + return EXEC.approach[0] + (EXEC.approach[1] - EXEC.approach[0]) * k - EXEC.approachJobs / EXEC.servicerPeriod; + } + return EXEC.manual; +} + +// deterministic jitter on each SERVICER pass +const jit = (k) => { + const x = Math.sin(k * 12.9898 + 78.233) * 43758.5453; + return (x - Math.floor(x)) * 2 - 1; +}; + +/** + * Runs the log. keys: [[s, key]] (the crew's, plus any the visitor adds); radar: the RR cycle steals on (as flown) or + * off. Returns the samples, every job, the alarms, the displays and the lamps. + */ +export function simulate({keys = CREW_KEYS, radar = true, end = DESCENT_END} = {}) { + const N = Math.ceil(end / SAMPLE) + 1; + const S = { + sets: new Uint8Array(N), // bit k: core set k busy + vacs: new Uint8Array(N), + run: new Int8Array(N), // the job running at the sample (JOB.*), -1 the dummy job + duty: new Float32Array(N), // demanded duty incl. the radar's steals + busy: new Uint8Array(N), // core sets in use + }; + const jobs = []; + const alarms = []; + const restarts = []; + const live = []; + const sets = new Array(EXEC.coreSets).fill(null); + const vacs = new Array(EXEC.vacAreas).fill(null); + const tloss = radar ? EXEC.tloss : 0; + // ------------------------------------------------ the DSKY's own state (a small PINBALL) + const kq = [...keys].sort((a, b) => a[0] - b[0]); + let ki = 0; + const disp = []; // display states over time + const lampEv = []; // [s, lamp, on] + let mode = ''; // '', 'verb', 'noun' + let vb = ''; + let nb = ''; + let verb = '06'; + let noun = '63'; + let monitor = false; + let failreg = [0, 0, 0]; + let prog = 63; + const keyEv = []; + const pushDisp = (s, x = {}) => disp.push({s, prog, verb, noun, mode, vb, nb, monitor, fail: [...failreg], ...x}); + pushDisp(0); + let oprErr = false; + const exec = (s) => { + const v = vb.padStart(2, '0'); + const n = nb.padStart(2, '0'); + mode = ''; + if ((v === '16' || v === '06') && ['63', '64', '68', '60'].includes(n)) { + verb = v; + noun = n; + monitor = v === '16'; + } else if (v === '05' && n === '09') { + verb = v; + noun = n; + monitor = false; + } else if (v === '16' && n === '36') { + verb = v; + noun = n; + monitor = true; + } else { + oprErr = true; + lampEv.push([s, 'OPR ERR', 1]); + } + vb = v; + nb = n; + }; + const key = (s, k) => { + keyEv.push([s, k]); + if (k === 'VERB') { + mode = 'verb'; + vb = ''; + } else if (k === 'NOUN') { + mode = 'noun'; + nb = ''; + } else if (/^\d$/.test(k)) { + if (mode === 'verb' && vb.length < 2) vb += k; + else if (mode === 'noun' && nb.length < 2) nb += k; + else { + oprErr = true; + lampEv.push([s, 'OPR ERR', 1]); + } + } else if (k === 'CLR') { + if (mode === 'verb') vb = ''; + if (mode === 'noun') nb = ''; + } else if (k === 'ENTR') { + if (mode) exec(s); + } else if (k === 'RSET') { + lampEv.push([s, 'PROG', 0]); + if (oprErr) lampEv.push([s, 'OPR ERR', 0]); + oprErr = false; + } else if (k === 'KEY REL') { + monitor = false; + mode = ''; + progDisplay(); + } + pushDisp(s); + }; + const progDisplay = () => { + verb = '06'; + noun = prog === 63 ? '63' : prog === 64 ? '64' : '60'; + monitor = false; + }; + + // ------------------------------------------------ the Executive + let nextServ = 0.02; + let nextMon = Infinity; + let nextLpd = Infinity; + let kServ = 0; + let id = 0; + const request = (s, kind, work) => { + const set = sets.indexOf(null); + const vac = NEEDS_VAC[kind] ? vacs.indexOf(null) : -2; + if (set < 0 || vac === -1) return bailout(s, set < 0 ? 1202 : 1201, kind); + const j = {id: id++, kind, prio: PRIO[kind], t0: s, t1: null, work, left: work, set, vac, fate: ''}; + sets[set] = j; + if (vac >= 0) vacs[vac] = j; + jobs.push(j); + live.push(j); + return j; + }; + const free = (j, s, fate) => { + j.t1 = s; + j.fate = fate; + sets[j.set] = null; + if (j.vac >= 0) vacs[j.vac] = null; + live.splice(live.indexOf(j), 1); + }; + const bailout = (s, code, kind) => { + const busy = sets.filter(Boolean).length; + alarms.push({s, code, busy, vacBusy: vacs.filter(Boolean).length, kind}); + if (!failreg[0]) failreg[0] = code; + else if (!failreg[1]) failreg[1] = code; + failreg[2] = code; + lampEv.push([s, 'PROG', 1]); + // the restart: only the newest SERVICER survives, restarted from its restart point + const newest = [...live].reverse().find((j) => j.kind === 'servicer'); + const kept = []; + const dropped = []; + for (const j of [...live]) { + if (j === newest) continue; + dropped.push({kind: j.kind, t0: j.t0}); + free(j, s, 'flushed'); + } + if (newest) { + kept.push({kind: newest.kind, t0: newest.t0}); + newest.left = newest.work; + } + if (monitor) { + monitor = false; + nextMon = Infinity; + } + progDisplay(); + mode = ''; + restarts.push({s, code, kept, dropped}); + pushDisp(s, {restart: true}); + return null; + }; + + const steps = Math.ceil(end / DT); + let si = 0; + for (let i = 0; i <= steps; i++) { + const s = i * DT; + // keys + while (ki < kq.length && kq[ki][0] <= s) { + const [ks, k] = kq[ki++]; + request(ks, 'charin', WORK.charin); + const wasMon = monitor; + key(ks, k); + if (monitor && !wasMon) nextMon = ks + 0.05; + if (!monitor) nextMon = Infinity; + } + // program changes + const p = progAt(s); + if (p !== prog) { + prog = p; + if (p === 64) { + nextLpd = s + LPD_START; // after the pitchover [E] + } else nextLpd = Infinity; + nextMon = Infinity; + progDisplay(); + mode = ''; + pushDisp(s); + } + // the waitlist + if (s >= nextServ) { + const w = EXEC.servicerPeriod * servicerDuty(s) * (1 + 0.025 * jit(kServ++)); + request(s, 'servicer', w); + nextServ += EXEC.servicerPeriod; + } + if (s >= nextMon) { + if (monitor) request(s, 'monitor', WORK.monitor); + nextMon = monitor ? nextMon + EXEC.monitorPeriod : Infinity; + } + if (s >= nextLpd) { + request(s, 'lpd', WORK.lpd); + nextLpd += EXEC.servicerPeriod; + } + // one millisecond of CPU, less the stolen cycles, to the highest priorities first (FIFO among equals) + let cap = DT * (1 - tloss); + let ran = -1; + while (cap > 1e-12 && live.length) { + let best = null; + for (const j of live) if (!best || j.prio > best.prio) best = j; + const use = Math.min(cap, best.left); + best.left -= use; + cap -= use; + if (ran < 0) ran = JOB[best.kind]; + if (best.left <= 1e-12) { + free(best, s, 'done'); + if (best.kind === 'monitor' || best.kind === 'servicer') best.shown = s; // the display it refreshed + } + } + if (s >= si * SAMPLE - 1e-9 && si < N) { + let m = 0; + let v = 0; + sets.forEach((j, k) => j && (m |= 1 << k)); + vacs.forEach((j, k) => j && (v |= 1 << k)); + S.sets[si] = m; + S.vacs[si] = v; + S.run[si] = ran; + S.busy[si] = sets.filter(Boolean).length; + S.duty[si] = tloss + servicerDuty(s) + (monitor ? EXEC.n68 : 0) + (prog === 64 ? EXEC.approachJobs / EXEC.servicerPeriod : 0); + si++; + } + } + // display refreshes: a monitor job's end (Verb 16), a SERVICER pass's end (the program's Verb 06) + const monShown = jobs.filter((j) => j.kind === 'monitor' && j.fate === 'done').map((j) => j.t1); + const servShown = jobs.filter((j) => j.kind === 'servicer' && j.fate === 'done').map((j) => j.t1); + return {S, jobs, alarms, restarts, disp, lampEv, keyEv, monShown, servShown, radar, end}; +} + +const lastLE = (arr, s, key = (x) => x) => { + let lo = 0; + let hi = arr.length - 1; + if (hi < 0 || key(arr[0]) > s) return -1; + while (lo < hi) { + const mid = (lo + hi + 1) >> 1; + if (key(arr[mid]) <= s) lo = mid; + else hi = mid - 1; + } + return lo; +}; +export const sampleAt = (log, s) => Math.max(0, Math.min(log.S.sets.length - 1, Math.round(s / SAMPLE))); +/** the display state at s, and when its registers were last refreshed */ +export function displayAt(log, s) { + const d = log.disp[Math.max(0, lastLE(log.disp, s, (x) => x.s))]; + const src = d.monitor ? log.monShown : log.servShown; + const k = lastLE(src, s); + const shown = k < 0 ? d.s : Math.max(src[k], d.s); + return {...d, shown}; +} +/** a lamp's state at s */ +export function lampAt(log, s, name) { + let on = 0; + for (const [t, l, v] of log.lampEv) { + if (t > s) break; + if (l === name) on = v; + } + return on; +} +/** the jobs alive at s, in core-set order */ +export function jobsAt(log, s) { + const out = new Array(EXEC.coreSets).fill(null); + for (const j of log.jobs) if (j.t0 <= s && (j.t1 === null || j.t1 > s)) out[j.set] = j; + return out; +} +/** the last restart at or before s */ +export function restartAt(log, s) { + const k = lastLE(log.restarts, s, (x) => x.s); + return k < 0 ? null : log.restarts[k]; +} diff --git a/machines/rope/agc-shared/film.js b/machines/rope/agc-shared/film.js new file mode 100644 index 0000000..15561c5 --- /dev/null +++ b/machines/rope/agc-shared/film.js @@ -0,0 +1,401 @@ +// Rope, the film: the AGC and its DSKY (agc.js) on the drawing sheet (stage.js) under the overlay (console.js). One +// input, the mission time in MCT since PDI (schedule.js), reads the Executive's log (executive.js) and the descent +// (machine.js): the word in the rope, the core sets, the lamps, VERB / NOUN / PROG and R1-R3. An operator opens the +// case, pulls rope module B1 and dives between its cores while one word is read, reads and rewrites one erasable +// word, goes back to the DSKY, watches the radar's stolen cycles fill the core sets until the 1202, then +// fast-forwards through P64 to touchdown. A pure function of t. +import {runSim} from 'teardown-kit/runtime.js'; +import {createConsole} from './console.js'; +import {L} from './agc.js'; +import {loadFonts} from './fonts.js'; +import {AGC, EVENTS, EXEC, GET0, MCT, ROPE_WORDS, bits16, descent, ropePlace} from './machine.js'; +import {SAMPLE, displayAt, jobsAt, lampAt, restartAt, sampleAt, servicerDuty} from './executive.js'; +import {ALARM1, DURATION, ERAS_JOB, ERAS_MCT, LOG, NOVAC, ROPE_MCT, SCRIPT, T as TB, actsAt, camAtName, missionAt, rateAt} from './schedule.js'; +import {createStage} from './stage.js'; +import {nf, T as tr} from './i18n.js'; + +export {DURATION, SCRIPT}; +export const DEFAULTS = {duration: DURATION, fps: 60, theme: 'light', hud: {enabled: false, title: 'rope', subtitle: ''}, director: {enabled: false}, watermark: ''}; +const D2R = Math.PI / 180; +export const smoother = (x) => { + const u = Math.min(1, Math.max(0, x)); + return u * u * u * (u * (u * 6 - 15) + 10); +}; +export const ss = (a, b, t) => smoother((t - a) / (b - a)); +const lerp = (a, b, k) => a + (b - a) * k; +const lerpV = (a, b, k) => ({x: lerp(a.x, b.x, k), y: lerp(a.y, b.y, k), z: lerp(a.z, b.z, k)}); +const logLerp = (a, b, k) => Math.exp(Math.log(a) + (Math.log(b) - Math.log(a)) * k); + +// ------------------------------------------------------------ views: straight, slow, along the axes. u: seconds in +// the view, A: the machine's anchors (world space) for the frame +export const VIEW_FN = { + hero: (u) => ({tx: 0.05, ty: 0.07, tz: 0.0, az: 34 + 1.4 * Math.sin(u * 0.41), el: 25, d: 3.15 - 0.06 * Math.sin(u * 0.41), sx: 0, sy: 30}), + open: (u) => ({tx: 0.02, ty: 0.05, tz: -0.16, az: 30 + 0.4 * Math.min(u, 6), el: 38, d: 3.15, sx: 0, sy: 20}), + rope: (u, A) => { + const k = smoother((u - 1.2) / 3.0); + const p = lerpV(A.rope, A.core, smoother((u - 1.6) / 2.6)); + return {tx: p.x, ty: p.y, tz: p.z, az: lerp(28, 48, k), el: lerp(40, 26, k), d: logLerp(1.05, 0.066, k), sx: 0, sy: lerp(20, 0, k)}; + }, + eras: (u, A) => { + const k = smoother((u - 0.6) / 2.4); + const p = lerpV(A.eras, A.erasCore, k); + return {tx: p.x, ty: p.y, tz: p.z, az: lerp(16, 6, k), el: lerp(30, 12, k), d: logLerp(1.1, 0.075, k), sx: 0, sy: lerp(20, 0, k)}; + }, + dsky: (u, A) => ({tx: A.dsky.x, ty: A.dsky.y - 0.052, tz: A.dsky.z, az: 26 - 0.4 * Math.min(u, 6), el: 7, d: 1.22, sx: 0, sy: 6}), + exec: (u) => ({tx: 0.06, ty: 0.05, tz: -0.12, az: 22 + 0.4 * Math.min(u, 8), el: 31, d: 3.35, sx: 0, sy: 16}), + // live only + logic: (u, A) => { + const k = smoother((u - 0.4) / 2.2); + return {tx: lerp(-0.1, A.gate.x - 0.03, k), ty: lerp(0.06, A.gate.y - 0.03, k), tz: lerp(0, A.gate.z - 0.04, k), az: lerp(28, 14, k), el: lerp(36, 20, k), d: logLerp(2.6, 0.62, k), sx: 0, sy: 10}; + }, + graze: (u) => ({tx: L.x0 + 0.02, ty: 0.07, tz: 0.0, az: 78 - 0.6 * Math.min(u, 8), el: 7, d: 1.45, sx: 0, sy: 6}), +}; +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' ? logLerp(a.d, b.d, k) : a[key] + (b[key] - a[key]) * k; + // between two close views the camera backs out on the way, so it never passes through the trays + const lift = Math.max(0, Math.log(0.9 / Math.max(a.d, b.d))); + o.d *= Math.exp(lift * Math.sin(Math.PI * k)); + return o; +} +const VIEWS = SCRIPT.filter((e) => e.cam).map((e) => [e.t, e.cam]); +export const camAt = (t, A) => { + let i = 0; + while (i < VIEWS.length - 1 && VIEWS[i + 1][0] <= t) i++; + const view = (k) => VIEW_FN[VIEWS[k][1]](t - VIEWS[k][0], A); + const cur = view(i); + if (i === 0) return cur; + const k = ss(VIEWS[i][0], VIEWS[i][0] + 2.0, t); + return k >= 1 ? cur : blend(view(i - 1), cur, k); +}; + +// ------------------------------------------------------------ the operator's pointer +const REST = [[820, 520], [700, 470], [900, 560], [760, 430]]; +export function makeCursor(ui, script = SCRIPT) { + const EV = script.filter((e) => e.t > 0 && e.btn).map((e) => ({t: e.t, spot: ui.spots[e.btn]})); + 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}; + }; +} + +// ------------------------------------------------------------ the machine's state at mission time s +const sgn = (v, n = 5) => (v < 0 ? '-' : '+') + String(Math.min(10 ** n - 1, Math.round(Math.abs(v)))).padStart(n, '0'); +const mmss = (sec) => { + const t = Math.max(0, Math.round(sec)); + return `+${String(Math.min(99, Math.floor(t / 60))).padStart(2, '0')} ${String(t % 60).padStart(2, '0')}`; +}; +const hash = (n) => { + const x = Math.sin(n * 0.61803 + 3.1) * 43758.5453; + return x - Math.floor(x); +}; +/** registers for a noun from the descent at the display's last refresh */ +export function registers(noun, ds, fail, s) { + if (noun === '68') return [sgn(ds.slantNm * 10), mmss(ds.tgo), sgn(ds.dH)]; + if (noun === '63') return [sgn(ds.v * 10), sgn(ds.hdot * 10), sgn(ds.h)]; + if (noun === '64') return [`+${String(Math.max(0, Math.round(EVENTS.p66 - ds.s))).padStart(2, '0').slice(-2)} ${String(Math.round(ds.lpd)).padStart(2, '0')}`, sgn(ds.hdot * 10), sgn(ds.h)]; + if (noun === '60') return [sgn(ds.vh * 10), sgn(ds.hdot * 10), sgn(ds.h)]; + if (noun === '09') return fail.map((c) => (c ? ' ' + c.toString().padStart(5, '0') : ' 00000')); + if (noun === '36') { + const g = GET0 + s; + return [sgn(Math.floor(g / 3600)), sgn(Math.floor((g % 3600) / 60)), sgn(Math.floor((g % 60) * 100))]; + } + return [' ', ' ', ' ']; +} +export function machineState(log, s, {liveKeys} = {}) { + const d = displayAt(log, s); + const ds = descent(d.shown); + const reg = registers(d.noun, ds, d.fail, d.shown); + const verb = d.mode === 'verb' ? d.vb.padEnd(2, ' ') : d.verb; + const noun = d.mode === 'noun' ? d.nb.padEnd(2, ' ') : d.mode === 'verb' ? d.noun : d.noun; + const i = sampleAt(log, s); + const run = log.S.run[i]; + const lamps = { + PROG: lampAt(log, s, 'PROG'), + 'OPR ERR': lampAt(log, s, 'OPR ERR'), + ALT: s < EVENTS.alt || (s > EVENTS.lrDrop && s < EVENTS.lrBack) ? 1 : 0, + VEL: s < EVENTS.vel || (s > EVENTS.lrDrop && s < EVENTS.lrBack) ? 1 : 0, + }; + // the jobs, and which one has the processor + const sets = jobsAt(log, s); + let runJ = null; + for (const j of sets) if (j && (!runJ || j.prio > runJ.prio || (j.prio === runJ.prio && j.t0 < runJ.t0))) runJ = j; + const setsOut = sets.map((j) => (j ? {kind: j.kind, run: j === runJ && run >= 0, age: `${nf(Math.max(0, s - j.t0), 1)} s`} : null)); + const vacs = []; + for (let k = 0; k < EXEC.vacAreas; k++) vacs.push(!!(log.S.vacs[i] & (1 << k))); + const busy = sets.filter(Boolean).length; + const tl = log.radar ? EXEC.tloss : 0; + const prog = s < EVENTS.p64 ? 63 : s < EVENTS.p66 ? 64 : 66; + const serv = servicerDuty(s); + const lrPart = prog === 63 ? Math.max(0, serv - EXEC.braking) : 0; + const mon = d.monitor ? EXEC.n68 : 0; + const lpd = prog === 64 ? EXEC.approachJobs / EXEC.servicerPeriod : 0; + const parts = [ + {k: 'serv', v: serv - lrPart}, + ...(lrPart > 0.001 ? [{k: 'lr', v: lrPart}] : []), + ...(mon ? [{k: 'n68', v: mon}] : []), + ...(lpd ? [{k: 'lpd', v: lpd}] : []), + ...(tl ? [{k: 'rr', v: tl}] : []), + ]; + const total = parts.reduce((a, p) => a + p.v, 0); + // one millisecond of MCTs, ending now + const n0 = Math.floor(s / MCT); + const strip = []; + const idleP = Math.max(0, 1 - total); + const novac0 = Math.round(NOVAC.req.t0 / MCT); + for (let q = 0; q < 85; q++) { + const n = n0 - 84 + q; + const inNovac = n >= novac0 && n < novac0 + NOVAC.mct; + const h = hash(n); + if (!inNovac && h < tl) strip.push('s'); + else if (inNovac || (run >= 0 && h > tl + idleP)) strip.push('j'); + else strip.push(run < 0 ? 'i' : h < tl + idleP ? 'i' : 'j'); + } + // the alarm, while PROG is lit and a few seconds after + const r = restartAt(log, s); + let alarm = null; + if (r) { + const age = s - r.s; + const k = lamps.PROG ? 1 : 1 - Math.min(1, Math.max(0, (age - 6) / 1.5)); + if (k > 0) { + const counts = {}; + for (const x of r.dropped) counts[x.kind] = (counts[x.kind] || 0) + 1; + const kl = {servicer: tr('job:servicer'), monitor: tr('job:monitor'), lpd: tr('job:lpd'), charin: tr('job:charin')}; + alarm = {code: r.code, k: Math.min(1, age / 0.15) * k, kept: r.kept[0]?.kind, dropped: Object.entries(counts).map(([kk, c]) => `${c} × ${kl[kk]}`).join(', ') || '—'}; + } + } + return { + dsky: {prog: String(prog === 66 && s > EVENTS.contact + 3 ? 68 : prog), verb, noun, reg, compActy: run >= 0 ? 1 : 0, lamps}, + d, + ds, + sets: setsOut, + vacs, + busy, + duty: {parts, total}, + strip, + alarm, + }; +} +export const dskyText = (d, ds) => { + const n = d.mode ? '' : d.noun; + if (n === '68') return tr('dsky:68', nf(ds.slantNm, 1), mmss(ds.tgo).slice(1).replace(' ', ':'), nf(Math.round(ds.dH))); + if (n === '63') return tr('dsky:63', nf(ds.v, 1), nf(ds.hdot, 1), nf(Math.round(ds.h))); + if (n === '64') return tr('dsky:64', Math.round(ds.lpd), nf(ds.hdot, 1), nf(Math.round(ds.h))); + if (n === '60') return tr('dsky:60', nf(ds.vh, 1), nf(ds.hdot, 1), nf(Math.round(ds.h))); + if (n === '09') return tr('dsky:09'); + if (n === '36') return tr('dsky:36'); + return tr('dsky:keying'); +}; +export const rateText = (r) => { + if (r < 1e-3) return tr('rateSlow', nf(r * 1e6, 1), nf(1 / r)); + if (r < 0.9) return tr('rateSlowS', nf(r, 2)); + return tr('rateFast', nf(r, r < 10 ? 1 : 0)); +}; + +// ------------------------------------------------------------ the subsystem panels +const ROPE_W = ROPE_WORDS.findIndex((w) => w.op === 'CAF NO.CORES'); +const SEL = ROPE_WORDS[ROPE_W]; +export const ROPE_PLACE = ropePlace(SEL.bank, SEL.addr); +export const prioWord = (kind) => (kind ? ({servicer: 0o20, monitor: 0o10, lpd: 0o10, charin: 0o30}[kind] << 9) | 0o154 : 0o77777); +/** rope read inside its MCT: phase 0..1 → {stage, fill} */ +export function ropeRead(phase) { + if (phase < 0) return {stage: -1, fill: 0}; + if (phase >= 1) return {stage: -1, fill: 16}; + const stage = phase < 0.12 ? 0 : phase < 0.45 ? 1 : phase < 0.72 ? 2 : 3; + const fill = Math.max(0, Math.min(16, Math.floor(((phase - 0.5) / 0.3) * 16 + 1))); + return {stage, fill: phase < 0.5 ? 0 : fill}; +} +export function erasRead(phase) { + if (phase < 0) return {stage: -1, fill: 16, state: 'stored'}; + if (phase >= 1) return {stage: -1, fill: 16, state: 'stored'}; + const stage = phase < 0.18 ? 0 : phase < 0.55 ? 1 : 2; + const fill = phase < 0.2 ? 0 : Math.min(16, Math.floor(((phase - 0.2) / 0.22) * 16 + 1)); + return {stage, fill, state: 'read'}; +} +export function detailFor(kind, s, ms, extra = {}) { + if (kind === 'rope') { + const ph = extra.ropePhase ?? -1; + const r = ropeRead(ph); + return {kind, w: extra.ropeW ?? ROPE_W, place: extra.place ?? ROPE_PLACE, fill: r.fill, stage: r.stage}; + } + if (kind === 'eras') { + const ph = extra.erasPhase ?? -1; + const r = erasRead(ph); + const job = extra.erasJob; + return {kind, set: extra.erasSet ?? 0, job, bits: bits16(prioWord(job)), fill: r.fill, stage: r.stage, state: r.state}; + } + if (kind === 'clock') { + const f = (s / MCT) % 1; + return {kind, pulse: Math.floor(f * 12), phase: f, mct: Math.floor(s / MCT)}; + } + if (kind === 'nor') { + const f = (s / MCT) % 1; + const p = Math.floor(f * 12); + return {kind, in: extra.norIn ?? [p % 2 ? 1 : 0, p >= 4 && p < 8 ? 1 : 0, p >= 9 ? 1 : 0]}; + } + if (kind === 'iface') return {kind, rr: !!extra.radar, lr: s > EVENTS.alt}; + if (kind === 'dsky') return {kind, text: tr('dskyKeysNote')}; + return {kind: 'exec'}; +} + +// ------------------------------------------------------------ callouts per view, label spots on the 1600 x 900 layout +export function calloutsFor(view, st, vis, extra = {}) { + const A = st.mac.anchors; + const out = []; + const c = (key, at, label, w, hot = false, o = vis) => { + const [name, sub] = tr(key); + out.push({name, sub, at: st.project(at), label, w, o, hot}); + }; + if (view === 'hero') { + c('cAgc', A.trayB, [380, 150], 230); + c('cDsky', A.dsky, [1230, 150], -200); + } else if (view === 'open' || view === 'exec') { + c('cTrayA', A.trayA, [380, 600], 220); + c('cTrayB', A.xrib, [1230, 112], -230); + if (view === 'exec') c('cConn', A.conn, [1230, 600], -250, !!extra.rrHot); + } else if (view === 'rope') { + const o2 = vis * (extra.inside ?? 0); + c('cRopeMod', A.ropeEnd, [1230, 112], -250, false, vis * (1 - (extra.inside ?? 0))); + c('cCore', A.core, [380, 112], 250, true, o2); + c('cSense', A.coreNext, [1230, 112], -250, false, o2); + c('cInhibit', A.inhib, [380, 640], 250, false, o2); + } else if (view === 'eras') { + const o2 = vis * (extra.inside ?? 0); + c('cErasMod', A.erasMod, [380, 112], 260, false, vis * (1 - (extra.inside ?? 0))); + c('cErasCore', A.erasCore, [380, 112], 260, true, o2); + c('cErasSense', A.erasSense, [1230, 640], -250, false, o2); + } else if (view === 'dsky') { + c('cEl', A.dskyEl, [1230, 112], -240, true); + c('cKeys', A.dskyKeys, [380, 640], 220); + } else if (view === 'logic') { + c('cLogic', A.logic, [380, 112], 240); + c('cGate', A.gate, [1230, 112], -250, true); + } else if (view === 'graze') { + c('cTrayA', A.trayA, [380, 112], 220); + } + return out; +} + +// ------------------------------------------------------------ captions of the film, by beat +const CAPS = [ + [0, 'cap:hero'], + [3.0, 'cap:open'], + [6.8, 'cap:rope'], + [11.0, 'cap:rope2'], + [14.6, 'cap:eras'], + [20.2, 'cap:dsky'], + [24.0, 'cap:exec'], + [TB.alarm, 'cap:alarm'], + [TB.alarm + 2.4, 'cap:restart'], + [TB.ff, 'cap:ff'], + [35.2, 'cap:p64'], + [TB.contact - 0.4, 'cap:contact'], +]; +export const captionAt = (t) => tr(CAPS.filter((c) => c[0] <= t).pop()[1]); + +// ------------------------------------------------------------ the film +export function makeFilm() { + return async ({canvas, capture}) => { + await loadFonts(); + 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'; + window.ROPE = {st, LOG}; + const sR = ROPE_MCT * MCT; + const sE = ERAS_MCT * MCT; + return { + resize, + render(t) { + const s = missionAt(t); + const view = camAtName(t); + const t0 = VIEWS.filter(([a]) => a <= t).pop()[0]; + const since = t - t0; + const ms = machineState(LOG, s); + const acts = actsAt(t); + const ropePhase = (s - sR) / MCT; + const erasPhase = (s - sE) / MCT; + const press = {}; + for (const [ks, k] of LOG.keyEv) { + const dt = s - ks; + if (dt >= 0 && dt < 0.25) press[k] = Math.max(press[k] || 0, 1 - dt / 0.25); + } + const fx = { + ...acts, + read: {phase: ropePhase >= 0 && ropePhase < 1 ? ropePhase : -1}, + erasRead: {phase: erasPhase >= 0 && erasPhase < 1 ? erasPhase : -1, bit: bits16(prioWord(ERAS_JOB?.kind))[1]}, + rr: view === 'exec' || view === 'hero' ? 0.25 + 0.25 * Math.sin(t * 9) : 0, + dsky: {lamps: ms.dsky.lamps, el: ms.dsky, press}, + }; + st.mac.update(fx); + const c = camAt(t, st.mac.anchors); + st.frame(fx, {...c, az: c.az * D2R, el: c.el * D2R}); + const det = + view === 'rope' + ? detailFor('rope', s, ms, {ropePhase}) + : view === 'eras' + ? detailFor('eras', s, ms, {erasPhase, erasJob: ERAS_JOB?.kind, erasSet: 0}) + : view === 'dsky' + ? detailFor('dsky', s, ms) + : view === 'exec' + ? detailFor('iface', s, ms, {radar: true}) + : detailFor('clock', s, ms); + const inside = view === 'rope' ? ss(3.0, 4.2, since) : view === 'eras' ? ss(2.0, 3.0, since) : 0; + ui.update({ + get: GET0 + s, + mct: s / MCT, + rateText: rateText(rateAt(t)), + dsky: ms.dsky, + dskyText: dskyText(ms.d, ms.ds), + sets: ms.sets, + vacs: ms.vacs, + busy: ms.busy, + duty: ms.duty, + strip: ms.strip, + stripAt: 84, + alarm: ms.alarm, + execNote: tr('execWait'), + detail: det, + caption: captionAt(t), + sub: {rope: 'rope', eras: 'eras', dsky: 'dsky', exec: 'exec'}[view] || '', + cut: acts.open > 0.5 ? 'tray' : '', + view: '', + callouts: calloutsFor(view, st, ss(1.2, 1.9, since) * (t > DURATION - 0.3 ? 0 : 1), {inside, rrHot: true}), + cursor: cursorAt(t), + }); + return {}; + }, + }; + }; +} +void AGC; +void SAMPLE; +void ALARM1; + +export const run = () => runSim(DEFAULTS, makeFilm()); diff --git a/machines/rope/agc-shared/fonts.js b/machines/rope/agc-shared/fonts.js new file mode 100644 index 0000000..b5d545d --- /dev/null +++ b/machines/rope/agc-shared/fonts.js @@ -0,0 +1,26 @@ +// Barlow Condensed (SIL Open Font License, @fontsource/barlow-condensed), the console's technical-drawing capitals: +// the latin subset in three weights, inlined so the page opens offline. Both builds (the site's and the teardown +// skill's) load .woff2 as base64. +import w500 from '@fontsource/barlow-condensed/files/barlow-condensed-latin-500-normal.woff2'; +import w600 from '@fontsource/barlow-condensed/files/barlow-condensed-latin-600-normal.woff2'; +import w700 from '@fontsource/barlow-condensed/files/barlow-condensed-latin-700-normal.woff2'; + +const buf = (b64) => { + const s = atob(b64); + const u = new Uint8Array(s.length); + for (let i = 0; i < s.length; i++) u[i] = s.charCodeAt(i); + return u.buffer; +}; +export const FAMILY = "'Barlow Condensed', 'Arial Narrow', sans-serif"; +/** registers the three weights; resolves when they are ready to draw with */ +export async function loadFonts() { + const faces = [ + [w500, '500'], + [w600, '600'], + [w700, '700'], + ].map(([b, weight]) => new FontFace('Barlow Condensed', buf(b), {weight, style: 'normal'})); + for (const f of faces) { + document.fonts.add(f); + await f.load().catch(() => {}); + } +} diff --git a/machines/rope/agc-shared/i18n.js b/machines/rope/agc-shared/i18n.js new file mode 100644 index 0000000..dd49315 --- /dev/null +++ b/machines/rope/agc-shared/i18n.js @@ -0,0 +1,223 @@ +// 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 S = { + // ------------------------------------------------------------ the clock and the DSKY + clockTitle: {en: 'MISSION TIME · GET', fr: 'TEMPS DE MISSION · GET', es: 'TIEMPO DE MISIÓN · GET'}, + mctSince: {en: 'MEMORY CYCLES (MCT) SINCE PDI', fr: 'CYCLES MÉMOIRE (MCT) DEPUIS LA PDI', es: 'CICLOS DE MEMORIA (MCT) DESDE LA PDI'}, + rateSlow: {en: (us, x) => `1 S ON SCREEN = ${us} µS · SLOWED ×${x}`, fr: (us, x) => `1 S À L’ÉCRAN = ${us} µS · RALENTI ×${x}`, es: (us, x) => `1 S EN PANTALLA = ${us} µS · RALENTIZADO ×${x}`}, + rateSlowS: {en: (r) => `1 S ON SCREEN = ${r} S OF MISSION`, fr: (r) => `1 S À L’ÉCRAN = ${r} S DE MISSION`, es: (r) => `1 S EN PANTALLA = ${r} S DE MISIÓN`}, + rateFast: {en: (r) => `MISSION RUNS ×${r}`, fr: (r) => `LA MISSION DÉFILE ×${r}`, es: (r) => `LA MISIÓN CORRE ×${r}`}, + dskyTitle: {en: 'DSKY · DISPLAY AND KEYBOARD', fr: 'DSKY · AFFICHEUR ET CLAVIER', es: 'DSKY · PANTALLA Y TECLADO'}, + 'dsky:68': { + en: (r, tg, dh) => `V16 N68 · R1 slant range ${r} nmi · R2 time to high gate ${tg} · R3 Δh radar − computed ${dh} ft`, + fr: (r, tg, dh) => `V16 N68 · R1 distance oblique ${r} nmi · R2 temps jusqu’au high gate ${tg} · R3 Δh radar − calculée ${dh} ft`, + es: (r, tg, dh) => `V16 N68 · R1 distancia oblicua ${r} nmi · R2 tiempo hasta el high gate ${tg} · R3 Δh radar − calculada ${dh} ft`, + }, + 'dsky:63': { + en: (v, hd, h) => `V06 N63 · R1 speed ${v} ft/s · R2 altitude rate ${hd} ft/s · R3 altitude ${h} ft`, + fr: (v, hd, h) => `V06 N63 · R1 vitesse ${v} ft/s · R2 vitesse verticale ${hd} ft/s · R3 altitude ${h} ft`, + es: (v, hd, h) => `V06 N63 · R1 velocidad ${v} ft/s · R2 velocidad vertical ${hd} ft/s · R3 altitud ${h} ft`, + }, + 'dsky:64': { + en: (a, hd, h) => `V06 N64 · R1 time left to redesignate, LPD angle ${a}° · R2 altitude rate ${hd} ft/s · R3 altitude ${h} ft`, + fr: (a, hd, h) => `V06 N64 · R1 temps pour redésigner, angle LPD ${a}° · R2 vitesse verticale ${hd} ft/s · R3 altitude ${h} ft`, + es: (a, hd, h) => `V06 N64 · R1 tiempo para redesignar, ángulo LPD ${a}° · R2 velocidad vertical ${hd} ft/s · R3 altitud ${h} ft`, + }, + 'dsky:60': { + en: (v, hd, h) => `V06 N60 · R1 forward speed ${v} ft/s · R2 altitude rate ${hd} ft/s · R3 altitude ${h} ft`, + fr: (v, hd, h) => `V06 N60 · R1 vitesse horizontale ${v} ft/s · R2 vitesse verticale ${hd} ft/s · R3 altitude ${h} ft`, + es: (v, hd, h) => `V06 N60 · R1 velocidad horizontal ${v} ft/s · R2 velocidad vertical ${hd} ft/s · R3 altitud ${h} ft`, + }, + 'dsky:09': {en: 'V05 N09 · the alarm codes: R1 the first, R2 the second, R3 the last', fr: 'V05 N09 · les codes d’alarme : R1 le premier, R2 le deuxième, R3 le dernier', es: 'V05 N09 · los códigos de alarma: R1 el primero, R2 el segundo, R3 el último'}, + 'dsky:36': {en: 'V16 N36 · the computer’s clock: hours, minutes, seconds', fr: 'V16 N36 · l’horloge du calculateur : heures, minutes, secondes', es: 'V16 N36 · el reloj del ordenador: horas, minutos, segundos'}, + 'dsky:keying': {en: 'Keying in a verb and a noun…', fr: 'Saisie d’un verbe et d’un nom…', es: 'Tecleando un verbo y un nombre…'}, + // ------------------------------------------------------------ the Executive + execTitle: {en: 'EXECUTIVE · WAITLIST', fr: 'EXECUTIVE · WAITLIST', es: 'EXECUTIVE · WAITLIST'}, + dutyTitle: {en: 'DUTY ASKED OF THE MACHINE', fr: 'CHARGE DEMANDÉE À LA MACHINE', es: 'CARGA PEDIDA A LA MÁQUINA'}, + 'duty:serv': {en: 'GUIDANCE', fr: 'GUIDAGE', es: 'GUIADO'}, + 'duty:lr': {en: 'RADAR DATA', fr: 'DONNÉES RADAR', es: 'DATOS RADAR'}, + 'duty:n68': {en: 'V16 N68', fr: 'V16 N68', es: 'V16 N68'}, + 'duty:lpd': {en: 'LPD', fr: 'LPD', es: 'LPD'}, + 'duty:rr': {en: 'STOLEN', fr: 'VOLÉS', es: 'ROBADOS'}, + setsTitle: {en: 'CORE SETS · ONE PER JOB', fr: 'CORE SETS · UN PAR TÂCHE', es: 'CORE SETS · UNO POR TAREA'}, + setFree: {en: 'FREE', fr: 'LIBRE', es: 'LIBRE'}, + vacTitle: {en: 'VAC AREAS · INTERPRETED JOBS', fr: 'ZONES VAC · TÂCHES INTERPRÉTÉES', es: 'ZONAS VAC · TAREAS INTERPRETADAS'}, + busyOf: {en: (b, n) => `${b} / ${n} BUSY`, fr: (b, n) => `${b} / ${n} PRIS`, es: (b, n) => `${b} / ${n} OCUPADOS`}, + stripTitle: {en: 'THE LAST MILLISECOND · 85 MCT', fr: 'LA DERNIÈRE MILLISECONDE · 85 MCT', es: 'EL ÚLTIMO MILISEGUNDO · 85 MCT'}, + stripJob: {en: 'JOBS', fr: 'TÂCHES', es: 'TAREAS'}, + stripSteal: {en: 'STOLEN (RADAR)', fr: 'VOLÉS (RADAR)', es: 'ROBADOS (RADAR)'}, + stripIdle: {en: 'IDLE', fr: 'LIBRES', es: 'LIBRES'}, + 'job:servicer': {en: 'SERVICER', fr: 'SERVICER', es: 'SERVICER'}, + 'job:monitor': {en: 'MONITOR V16 N68', fr: 'MONITEUR V16 N68', es: 'MONITOR V16 N68'}, + 'job:lpd': {en: 'LPD DISPLAY', fr: 'AFFICHAGE LPD', es: 'PANTALLA LPD'}, + 'job:charin': {en: 'KEYBOARD', fr: 'CLAVIER', es: 'TECLADO'}, + alarmHead: {en: 'PROGRAM ALARM', fr: 'ALARME PROGRAMME', es: 'ALARMA DE PROGRAMA'}, + 'alarm:1202': {en: 'EXECUTIVE OVERFLOW · NO CORE SETS', fr: 'DÉBORDEMENT DE L’EXECUTIVE · PLUS DE CORE SET', es: 'DESBORDAMIENTO DEL EXECUTIVE · SIN CORE SETS'}, + 'alarm:1201': {en: 'EXECUTIVE OVERFLOW · NO VAC AREAS', fr: 'DÉBORDEMENT DE L’EXECUTIVE · PLUS DE ZONE VAC', es: 'DESBORDAMIENTO DEL EXECUTIVE · SIN ZONAS VAC'}, + restartKept: {en: (k) => `Restart. Kept: ${k}, the newest pass, from its restart point.`, fr: (k) => `Redémarrage. Gardé : ${k}, le passage le plus récent, depuis son point de reprise.`, es: (k) => `Reinicio. Se conserva: ${k}, la pasada más reciente, desde su punto de reanudación.`}, + restartDropped: {en: (d) => `Dropped: ${d}. The landing goes on.`, fr: (d) => `Abandonné : ${d}. L’atterrissage continue.`, es: (d) => `Descartado: ${d}. El alunizaje continúa.`}, + execWait: { + en: 'The Waitlist starts SERVICER every 2 s; a Verb 16 monitor every second. Each job holds a core set until it ends.', + fr: 'La Waitlist lance SERVICER toutes les 2 s ; un moniteur Verb 16 chaque seconde. Chaque tâche garde son core set jusqu’à la fin.', + es: 'La Waitlist lanza SERVICER cada 2 s; un monitor Verb 16 cada segundo. Cada tarea retiene su core set hasta terminar.', + }, + // ------------------------------------------------------------ the detail panel + 'det:rope': {en: 'FIXED MEMORY · ONE WORD', fr: 'MÉMOIRE FIXE · UN MOT', es: 'MEMORIA FIJA · UNA PALABRA'}, + 'det:eras': {en: 'ERASABLE MEMORY · ONE WORD', fr: 'MÉMOIRE EFFAÇABLE · UN MOT', es: 'MEMORIA BORRABLE · UNA PALABRA'}, + 'det:nor': {en: 'LOGIC · ONE NOR GATE', fr: 'LOGIQUE · UNE PORTE NOR', es: 'LÓGICA · UNA PUERTA NOR'}, + 'det:clock': {en: 'CLOCK AND SEQUENCER', fr: 'HORLOGE ET SÉQUENCEUR', es: 'RELOJ Y SECUENCIADOR'}, + 'det:iface': {en: 'INTERFACES · COUNTERS', fr: 'INTERFACES · COMPTEURS', es: 'INTERFACES · CONTADORES'}, + 'det:dsky': {en: 'DSKY · VERB AND NOUN', fr: 'DSKY · VERBE ET NOM', es: 'DSKY · VERBO Y NOMBRE'}, + 'det:exec': {en: 'EXECUTIVE · THE JOBS', fr: 'EXECUTIVE · LES TÂCHES', es: 'EXECUTIVE · LAS TAREAS'}, + ropeAddr: { + en: (b, a, m, c, st) => `${String(b).padStart(2, '0')},${a} · B${m} · CORE ${c} · STRAND ${st}`, + fr: (b, a, m, c, st) => `${String(b).padStart(2, '0')},${a} · B${m} · TORE ${c} · BRIN ${st}`, + es: (b, a, m, c, st) => `${String(b).padStart(2, '0')},${a} · B${m} · NÚCLEO ${c} · HEBRA ${st}`, + }, + ropeOctal: {en: 'THE WORD, IN OCTAL (LUMINARY 099)', fr: 'LE MOT, EN OCTAL (LUMINARY 099)', es: 'LA PALABRA, EN OCTAL (LUMINARY 099)'}, + ropeParity: {en: (p) => `ODD PARITY BIT ${p}`, fr: (p) => `BIT DE PARITÉ IMPAIRE ${p}`, es: (p) => `BIT DE PARIDAD IMPAR ${p}`}, + ropePhase: {en: 'INSIDE ONE MEMORY CYCLE, 11.7 µS', fr: 'DANS UN CYCLE MÉMOIRE, 11,7 µS', es: 'DENTRO DE UN CICLO DE MEMORIA, 11,7 µS'}, + 'ph:inhibit': {en: 'INHIBIT', fr: 'INHIBITION', es: 'INHIBICIÓN'}, + 'ph:set': {en: 'SET', fr: 'SET', es: 'SET'}, + 'ph:reset': {en: 'RESET', fr: 'RESET', es: 'RESET'}, + 'ph:strobe': {en: 'STROBE', fr: 'LECTURE', es: 'LECTURA'}, + ropeNote: { + en: (w, m, c, l) => `${w} words in ${m} modules of ${c} cores. ${l} wires pass through or around each core: through is a 1, around is a 0.`, + fr: (w, m, c, l) => `${w} mots dans ${m} modules de ${c} tores. ${l} fils traversent ou contournent chaque tore : dedans, un 1 ; autour, un 0.`, + es: (w, m, c, l) => `${w} palabras en ${m} módulos de ${c} núcleos. ${l} hilos pasan por dentro o por fuera de cada núcleo: dentro, un 1; fuera, un 0.`, + }, + erasAddr: {en: (k) => `PRIORITY OF CORE SET ${k} · READ BY CCS PRIORITY`, fr: (k) => `PRIORITÉ DU CORE SET ${k} · LUE PAR CCS PRIORITY`, es: (k) => `PRIORIDAD DEL CORE SET ${k} · LEÍDA POR CCS PRIORITY`}, + erasJob: {en: (j) => `${j} · BUSY`, fr: (j) => `${j} · OCCUPÉ`, es: (j) => `${j} · OCUPADO`}, + erasFree: {en: '−0 · FREE', fr: '−0 · LIBRE', es: '−0 · LIBRE'}, + erasPlane: {en: 'THE PLANE SHOWN HOLDS BIT 14 OF EVERY WORD', fr: 'LE PLAN MONTRÉ PORTE LE BIT 14 DE CHAQUE MOT', es: 'EL PLANO MOSTRADO GUARDA EL BIT 14 DE CADA PALABRA'}, + 'es:read': {en: 'X + Y READ', fr: 'LECTURE X + Y', es: 'LECTURA X + Y'}, + 'es:sense': {en: 'SENSE', fr: 'DÉTECTION', es: 'DETECCIÓN'}, + 'es:rewrite': {en: 'REWRITE', fr: 'RÉÉCRITURE', es: 'REESCRITURA'}, + erasNote: { + en: (w, b) => `${w} words, ${b} cores. Reading switches the core to 0: a 1 shows as a pulse on the sense line. The same cycle writes it back.`, + fr: (w, b) => `${w} mots, ${b} tores. Lire fait basculer le tore à 0 : un 1 se voit comme une impulsion sur le fil de lecture. Le même cycle le réécrit.`, + es: (w, b) => `${w} palabras, ${b} núcleos. Leer pone el núcleo a 0: un 1 aparece como un pulso en el hilo de lectura. El mismo ciclo lo reescribe.`, + }, + norHead: {en: 'RESISTOR-TRANSISTOR LOGIC, 3 INPUTS', fr: 'LOGIQUE RÉSISTANCE-TRANSISTOR, 3 ENTRÉES', es: 'LÓGICA RESISTENCIA-TRANSISTOR, 3 ENTRADAS'}, + norNote: { + en: (n, g) => `About ${n} flat-packs, two NOR gates in each: ${g} gates of one kind make the whole processor.`, + fr: (n, g) => `Environ ${n} boîtiers plats, deux portes NOR dans chacun : ${g} portes d’un seul type font tout le processeur.`, + es: (n, g) => `Unos ${n} encapsulados planos, dos puertas NOR en cada uno: ${g} puertas de un solo tipo hacen todo el procesador.`, + }, + clockHead: {en: (f, m) => `${f} MHZ · 12 PULSES = 1 MCT = ${m} µS`, fr: (f, m) => `${f} MHZ · 12 IMPULSIONS = 1 MCT = ${m} µS`, es: (f, m) => `${f} MHZ · 12 PULSOS = 1 MCT = ${m} µS`}, + clockPulse: {en: 'THE TIMING PULSE NOW', fr: 'L’IMPULSION EN COURS', es: 'EL PULSO ACTUAL'}, + clockNote: { + en: (n, a, us) => `${n} memory cycles a second. An addition takes 2 MCT (${us} µS): ${a} a second; one-MCT instructions run twice as many.`, + fr: (n, a, us) => `${n} cycles mémoire par seconde. Une addition prend 2 MCT (${us} µS) : ${a} par seconde ; les instructions d’un MCT en font deux fois plus.`, + es: (n, a, us) => `${n} ciclos de memoria por segundo. Una suma tarda 2 MCT (${us} µS): ${a} por segundo; las instrucciones de un MCT, el doble.`, + }, + ifHead: {en: 'CYCLES STOLEN PER SECOND', fr: 'CYCLES VOLÉS PAR SECONDE', es: 'CICLOS ROBADOS POR SEGUNDO'}, + 'if:rr': {en: 'RENDEZVOUS RADAR CDU', fr: 'CDU DU RADAR DE RENDEZ-VOUS', es: 'CDU DEL RADAR DE ENCUENTRO'}, + 'if:imu': {en: 'IMU CDU (STEADY ATTITUDE)', fr: 'CDU DE L’IMU (ATTITUDE STABLE)', es: 'CDU DE LA IMU (ACTITUD ESTABLE)'}, + 'if:lr': {en: 'LANDING RADAR', fr: 'RADAR D’ATTERRISSAGE', es: 'RADAR DE ALUNIZAJE'}, + 'if:lrOn': {en: 'DATA GOOD', fr: 'DONNÉES BONNES', es: 'DATOS BUENOS'}, + ifTloss: {en: 'TIME LOST TO THE RADAR', fr: 'TEMPS PERDU AU RADAR', es: 'TIEMPO PERDIDO POR EL RADAR'}, + ifNote: { + en: (p, m, th) => `Two angles × ${p} pulses/s at most, one MCT each: ${th} % in theory, ${m} % measured after the flight. The model uses 13 %.`, + fr: (p, m, th) => `Deux angles × ${p} impulsions/s au plus, un MCT chacune : ${th} % en théorie, ${m} % mesurés après le vol. Le modèle prend 13 %.`, + es: (p, m, th) => `Dos ángulos × ${p} pulsos/s como máximo, un MCT cada uno: ${th} % en teoría, ${m} % medido tras el vuelo. El modelo usa 13 %.`, + }, + dskyHead: {en: 'VERB = WHAT TO DO · NOUN = ON WHAT', fr: 'VERBE = QUOI FAIRE · NOM = SUR QUOI', es: 'VERBO = QUÉ HACER · NOMBRE = SOBRE QUÉ'}, + dskyKeysNote: { + en: 'Click the keys. VERB 1 6 NOUN 6 8 ENTR: the Δh monitor that costs 3 % (it can bring the 1202 back). VERB 0 6 NOUN 6 3 ENTR: speed and altitude, once. VERB 0 5 NOUN 0 9 ENTR: the alarm codes. VERB 1 6 NOUN 3 6 ENTR: the clock. RSET turns the lamps off; KEY REL hands the display back to the program.', + fr: 'Cliquez les touches. VERB 1 6 NOUN 6 8 ENTR : le moniteur de Δh qui coûte 3 % (il peut faire revenir le 1202). VERB 0 6 NOUN 6 3 ENTR : vitesse et altitude, une fois. VERB 0 5 NOUN 0 9 ENTR : les codes d’alarme. VERB 1 6 NOUN 3 6 ENTR : l’horloge. RSET éteint les voyants ; KEY REL rend l’affichage au programme.', + es: 'Haz clic en las teclas. VERB 1 6 NOUN 6 8 ENTR: el monitor de Δh que cuesta un 3 % (puede traer de vuelta el 1202). VERB 0 6 NOUN 6 3 ENTR: velocidad y altitud, una vez. VERB 0 5 NOUN 0 9 ENTR: los códigos de alarma. VERB 1 6 NOUN 3 6 ENTR: el reloj. RSET apaga las luces; KEY REL devuelve la pantalla al programa.', + }, + exHead: {en: 'PRIORITY DECIDES WHO RUNS', fr: 'LA PRIORITÉ DÉCIDE QUI TOURNE', es: 'LA PRIORIDAD DECIDE QUIÉN CORRE'}, + exNote: { + en: (c, v, b, lr, n, rr) => `${c} core sets, ${v} VAC areas. Braking guidance asks ${b} %, the landing radar's data ${lr} % more, the V16 N68 monitor ${n} %; the radar steals ${rr} %. Past 100 %, the lowest-priority jobs never finish and keep their core sets: when a job finds none free, 1202.`, + fr: (c, v, b, lr, n, rr) => `${c} core sets, ${v} zones VAC. Le guidage du freinage demande ${b} %, les données du radar d’atterrissage ${lr} % de plus, le moniteur V16 N68 ${n} % ; le radar vole ${rr} %. Au-delà de 100 %, les tâches les moins prioritaires ne finissent jamais et gardent leur core set : quand une tâche n’en trouve plus, 1202.`, + es: (c, v, b, lr, n, rr) => `${c} core sets, ${v} zonas VAC. El guiado de frenado pide ${b} %, los datos del radar de alunizaje ${lr} % más, el monitor V16 N68 ${n} %; el radar roba ${rr} %. Por encima del 100 %, las tareas de menor prioridad nunca terminan y retienen su core set: cuando una tarea no encuentra ninguno libre, 1202.`, + }, + // ------------------------------------------------------------ buttons + grpSubs: {en: 'SUBSYSTEMS', fr: 'SOUS-SYSTÈMES', es: 'SUBSISTEMAS'}, + 'sub:rope': {en: 'ROPE', fr: 'ROPE', es: 'ROPE'}, + 'sub:eras': {en: 'ERASABLE', fr: 'EFFAÇABLE', es: 'BORRABLE'}, + 'sub:nor': {en: 'NOR LOGIC', fr: 'LOGIQUE NOR', es: 'LÓGICA NOR'}, + 'sub:clock': {en: 'CLOCK', fr: 'HORLOGE', es: 'RELOJ'}, + 'sub:exec': {en: 'EXECUTIVE', fr: 'EXECUTIVE', es: 'EXECUTIVE'}, + 'sub:dsky': {en: 'DSKY', fr: 'DSKY', es: 'DSKY'}, + 'sub:iface': {en: 'INTERFACES', fr: 'INTERFACES', es: 'INTERFACES'}, + grpCuts: {en: 'SECTIONS', fr: 'COUPES', es: 'CORTES'}, + 'cut:case': {en: 'CASE', fr: 'BOÎTIER', es: 'CAJA'}, + 'cut:tray': {en: 'TRAYS', fr: 'PLATEAUX', es: 'BANDEJAS'}, + 'cut:module': {en: 'MODULE', fr: 'MODULE', es: 'MÓDULO'}, + grpViews: {en: 'VIEWS', fr: 'VUES', es: 'VISTAS'}, + 'view:axo': {en: 'AXONOMETRIC', fr: 'AXONOMÉTRIE', es: 'AXONOMETRÍA'}, + 'view:dskyFace': {en: 'DSKY FACE', fr: 'FACE DSKY', es: 'CARA DSKY'}, + 'view:ropeIn': {en: 'INSIDE ROPE', fr: 'DANS LA ROPE', es: 'DENTRO DE LA ROPE'}, + 'view:graze': {en: 'GRAZING', fr: 'RASANTE', es: 'RASANTE'}, + // ------------------------------------------------------------ title block + title: {en: 'ROPE', fr: 'ROPE', es: 'ROPE'}, + titleSub: {en: 'APOLLO GUIDANCE COMPUTER BLOCK II · DSKY', fr: 'APOLLO GUIDANCE COMPUTER BLOCK II · DSKY', es: 'APOLLO GUIDANCE COMPUTER BLOCK II · DSKY'}, + titleMission: {en: 'LM · LUMINARY 099 · APOLLO 11 DESCENT', fr: 'LM · LUMINARY 099 · DESCENTE D’APOLLO 11', es: 'LM · LUMINARY 099 · DESCENSO DEL APOLO 11'}, + titleSources: {en: 'AFTER MIT IL / NASA PUBLIC SOURCES', fr: 'D’APRÈS LES SOURCES PUBLIQUES MIT IL / NASA', es: 'SEGÚN FUENTES PÚBLICAS MIT IL / NASA'}, + titleNot: {en: 'A MODEL · NOT AFFILIATED WITH NASA OR MIT', fr: 'UN MODÈLE · SANS LIEN AVEC LA NASA NI LE MIT', es: 'UN MODELO · SIN RELACIÓN CON LA NASA NI EL MIT'}, + titleSheet: {en: 'SHEET 1 OF 1', fr: 'FEUILLE 1 SUR 1', es: 'HOJA 1 DE 1'}, + titleFigs: {en: (m, p) => `${m} KG · ${p} W
61 × 32 × 17 CM`, fr: (m, p) => `${m} KG · ${p} W
61 × 32 × 17 CM`, es: (m, p) => `${m} KG · ${p} W
61 × 32 × 17 CM`}, + // ------------------------------------------------------------ callouts [name, sub] + cAgc: {en: ['Apollo Guidance Computer', 'BLOCK II · 2 TRAYS · 32 KG · 55 W'], fr: ['Apollo Guidance Computer', 'BLOCK II · 2 PLATEAUX · 32 KG · 55 W'], es: ['Apollo Guidance Computer', 'BLOCK II · 2 BANDEJAS · 32 KG · 55 W']}, + cDsky: {en: ['DSKY', 'DISPLAY AND KEYBOARD'], fr: ['DSKY', 'AFFICHEUR ET CLAVIER'], es: ['DSKY', 'PANTALLA Y TECLADO']}, + cTrayA: {en: ['Tray A · logic', '24 LOGIC + 7 INTERFACE MODULES'], fr: ['Plateau A · logique', '24 MODULES LOGIQUES + 7 D’INTERFACE'], es: ['Bandeja A · lógica', '24 MÓDULOS LÓGICOS + 7 DE INTERFAZ']}, + cTrayB: {en: ['Tray B · memory', 'ROPE, ERASABLE, DRIVERS'], fr: ['Plateau B · mémoire', 'ROPE, EFFAÇABLE, PILOTES'], es: ['Bandeja B · memoria', 'ROPE, BORRABLE, CONTROLADORES']}, + cConn: {en: ['Interface connector', 'RADAR PULSES COME IN HERE'], fr: ['Connecteur d’interface', 'LES IMPULSIONS DU RADAR ARRIVENT ICI'], es: ['Conector de interfaz', 'AQUÍ LLEGAN LOS PULSOS DEL RADAR']}, + cRopeMod: {en: ['Rope module B1', '6,144 WORDS · 512 CORES'], fr: ['Module de rope B1', '6 144 MOTS · 512 TORES'], es: ['Módulo de rope B1', '6144 PALABRAS · 512 NÚCLEOS']}, + cCore: {en: ['The selected core', 'INHIBIT LINES HOLD ALL THE OTHERS'], fr: ['Le tore choisi', 'LES FILS D’INHIBITION BLOQUENT TOUS LES AUTRES'], es: ['El núcleo elegido', 'LOS HILOS DE INHIBICIÓN BLOQUEAN LOS DEMÁS']}, + cSense: {en: ['Sense lines', 'THROUGH = 1 · AROUND = 0'], fr: ['Fils de lecture', 'DEDANS = 1 · AUTOUR = 0'], es: ['Hilos de lectura', 'DENTRO = 1 · FUERA = 0']}, + cInhibit: {en: ['Inhibit lines', 'THE ADDRESS, DECODED'], fr: ['Fils d’inhibition', 'L’ADRESSE, DÉCODÉE'], es: ['Hilos de inhibición', 'LA DIRECCIÓN, DECODIFICADA']}, + cErasMod: {en: ['Erasable memory B12', '2,048 WORDS · FERRITE CORES'], fr: ['Mémoire effaçable B12', '2 048 MOTS · TORES DE FERRITE'], es: ['Memoria borrable B12', '2048 PALABRAS · NÚCLEOS DE FERRITA']}, + cErasCore: {en: ['One core, one bit', 'X AND Y HALF-CURRENTS SWITCH IT'], fr: ['Un tore, un bit', 'LES DEMI-COURANTS X ET Y LE BASCULENT'], es: ['Un núcleo, un bit', 'LAS SEMICORRIENTES X E Y LO CONMUTAN']}, + cErasSense: {en: ['Sense line', 'A 1 FLIPS AND SHOWS'], fr: ['Fil de lecture', 'UN 1 BASCULE ET SE VOIT'], es: ['Hilo de lectura', 'UN 1 CAMBIA Y SE VE']}, + cEl: {en: ['Electroluminescent digits', 'REDRAWN EVERY SECOND BY A JOB'], fr: ['Chiffres électroluminescents', 'REDESSINÉS CHAQUE SECONDE PAR UNE TÂCHE'], es: ['Dígitos electroluminiscentes', 'REDIBUJADOS CADA SEGUNDO POR UNA TAREA']}, + cKeys: {en: ['19 keys', 'VERB · NOUN · ENTR'], fr: ['19 touches', 'VERB · NOUN · ENTR'], es: ['19 teclas', 'VERB · NOUN · ENTR']}, + cLogic: {en: ['Logic module A13', '120 FLAT-PACKS, WELDED'], fr: ['Module logique A13', '120 BOÎTIERS PLATS, SOUDÉS'], es: ['Módulo lógico A13', '120 ENCAPSULADOS PLANOS, SOLDADOS']}, + cGate: {en: ['Dual 3-input NOR', 'THE ONLY GATE IN THE MACHINE'], fr: ['Double NOR à 3 entrées', 'LA SEULE PORTE DE LA MACHINE'], es: ['Doble NOR de 3 entradas', 'LA ÚNICA PUERTA DE LA MÁQUINA']}, + // ------------------------------------------------------------ captions + 'cap:hero': {en: 'Apollo 11’s lunar module, five minutes into powered descent. Aldrin has called up Verb 16 Noun 68.', fr: 'Le module lunaire d’Apollo 11, cinq minutes après le début de la descente. Aldrin a demandé Verb 16 Noun 68.', es: 'El módulo lunar del Apolo 11, cinco minutos después de iniciar el descenso. Aldrin ha pedido Verb 16 Noun 68.'}, + 'cap:open': {en: 'Two magnesium trays: tray A is logic, tray B is memory.', fr: 'Deux plateaux en magnésium : le plateau A, la logique ; le plateau B, la mémoire.', es: 'Dos bandejas de magnesio: la bandeja A, la lógica; la bandeja B, la memoria.'}, + 'cap:rope': {en: 'The program lives in six rope modules, woven by hand. Module B1 comes out.', fr: 'Le programme vit dans six modules de rope, tissés à la main. Le module B1 sort.', es: 'El programa vive en seis módulos de rope, tejidos a mano. Sale el módulo B1.'}, + 'cap:rope2': {en: 'One word, CAF NO.CORES: a wire through the core reads 1, a wire around it reads 0.', fr: 'Un mot, CAF NO.CORES : un fil qui traverse le tore lit 1, un fil qui le contourne lit 0.', es: 'Una palabra, CAF NO.CORES: un hilo que atraviesa el núcleo lee 1, uno que lo rodea lee 0.'}, + 'cap:eras': {en: 'Erasable memory: reading a core erases it, so the same cycle writes it back.', fr: 'Mémoire effaçable : lire un tore l’efface, alors le même cycle le réécrit.', es: 'Memoria borrable: leer un núcleo lo borra, así que el mismo ciclo lo reescribe.'}, + 'cap:dsky': {en: 'Back on the DSKY: every digit comes from the descent the computer is flying.', fr: 'Retour au DSKY : chaque chiffre vient de la descente que le calculateur pilote.', es: 'De vuelta al DSKY: cada dígito sale del descenso que el ordenador pilota.'}, + 'cap:exec': {en: 'The rendezvous radar steals 13 % of the cycles. Low-priority jobs never finish, and keep their core sets.', fr: 'Le radar de rendez-vous vole 13 % des cycles. Les tâches peu prioritaires ne finissent pas et gardent leur core set.', es: 'El radar de encuentro roba el 13 % de los ciclos. Las tareas de baja prioridad no terminan y retienen su core set.'}, + 'cap:alarm': {en: '1202: a job asked for a core set and found all eight taken.', fr: '1202 : une tâche a demandé un core set et les a trouvés tous les huit pris.', es: '1202: una tarea pidió un core set y encontró los ocho ocupados.'}, + 'cap:restart': {en: 'Restart: the newest guidance pass is kept, the rest is dropped. The landing goes on.', fr: 'Redémarrage : le dernier passage du guidage est gardé, le reste abandonné. L’atterrissage continue.', es: 'Reinicio: se conserva la última pasada del guiado, se descarta el resto. El alunizaje continúa.'}, + 'cap:ff': {en: 'Fast forward: a second 1202, then high gate.', fr: 'Accéléré : un second 1202, puis le high gate.', es: 'Avance rápido: un segundo 1202, luego el high gate.'}, + 'cap:p64': {en: 'P64, the approach: more alarms, each one a restart that keeps the landing.', fr: 'P64, l’approche : d’autres alarmes, chacune un redémarrage qui garde l’atterrissage.', es: 'P64, la aproximación: más alarmas, cada una un reinicio que mantiene el alunizaje.'}, + 'cap:contact': {en: 'Contact light, 102:45:40.', fr: 'Contact light, 102:45:40.', es: 'Contact light, 102:45:40.'}, + // ------------------------------------------------------------ the live page + 'cap:live:axo': {en: 'Drag to turn, wheel to zoom. Click a subsystem to open it.', fr: 'Glissez pour tourner, molette pour zoomer. Cliquez un sous-système pour l’ouvrir.', es: 'Arrastra para girar, rueda para el zoom. Haz clic en un subsistema para abrirlo.'}, + 'cap:live:rope': {en: 'NOVAC looks for a free core set; each of its words comes out of the rope, one memory cycle at a time.', fr: 'NOVAC cherche un core set libre ; chacun de ses mots sort de la rope, un cycle mémoire à la fois.', es: 'NOVAC busca un core set libre; cada una de sus palabras sale de la rope, un ciclo de memoria a la vez.'}, + 'cap:live:eras': {en: 'CCS PRIORITY reads a core set’s priority word: a destructive read, then the rewrite.', fr: 'CCS PRIORITY lit le mot de priorité d’un core set : lecture destructive, puis réécriture.', es: 'CCS PRIORITY lee la palabra de prioridad de un core set: lectura destructiva y reescritura.'}, + 'cap:live:nor': {en: 'Click A, B or C: the output is 1 only when all three inputs are 0.', fr: 'Cliquez A, B ou C : la sortie vaut 1 seulement quand les trois entrées sont à 0.', es: 'Haz clic en A, B o C: la salida vale 1 solo cuando las tres entradas son 0.'}, + 'cap:live:clock': {en: 'Twelve timing pulses make one memory cycle; everything in the machine is counted in them.', fr: 'Douze impulsions font un cycle mémoire ; tout, dans la machine, se compte en cycles.', es: 'Doce pulsos forman un ciclo de memoria; todo en la máquina se cuenta en ciclos.'}, + 'cap:live:exec': {en: 'Switch the radar off and the 1202 never comes. Key V16 N68 and it comes back.', fr: 'Coupez le radar et le 1202 ne vient jamais. Tapez V16 N68 et il revient.', es: 'Apaga el radar y el 1202 no llega nunca. Teclea V16 N68 y vuelve.'}, + 'cap:live:dsky': {en: 'The DSKY is the crew’s only way in: a verb, a noun, ENTR.', fr: 'Le DSKY est le seul accès de l’équipage : un verbe, un nom, ENTR.', es: 'El DSKY es la única entrada de la tripulación: un verbo, un nombre, ENTR.'}, + 'cap:live:iface': {en: 'Every radar pulse is a counter increment, and every increment steals one memory cycle.', fr: 'Chaque impulsion du radar est un incrément de compteur, et chaque incrément vole un cycle mémoire.', es: 'Cada pulso del radar es un incremento de contador, y cada incremento roba un ciclo de memoria.'}, + radarOn: {en: 'RADAR STEALS: ON (AS FLOWN)', fr: 'VOL DU RADAR : OUI (COMME EN VOL)', es: 'ROBO DEL RADAR: SÍ (COMO EN VUELO)'}, + radarOff: {en: 'RADAR STEALS: OFF', fr: 'VOL DU RADAR : NON', es: 'ROBO DEL RADAR: NO'}, + speed: {en: 'MISSION SPEED', fr: 'VITESSE DE MISSION', es: 'VELOCIDAD DE MISIÓN'}, + restartMission: {en: '↺ PDI + 5 MIN', fr: '↺ PDI + 5 MIN', es: '↺ PDI + 5 MIN'}, + busy: {en: 'REPLANNING THE EXECUTIVE…', fr: 'REPLANIFICATION DE L’EXECUTIVE…', es: 'REPLANIFICANDO EL EXECUTIVE…'}, + 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 console', fr: 'Tournez le téléphone pour la console complète', es: 'Gira el teléfono para ver la consola completa'}, + docTitle: {en: 'Rope · the Apollo Guidance Computer, taken apart', fr: 'Rope · l’ordinateur de bord d’Apollo, démonté', es: 'Rope · el ordenador de guiado del Apolo, desmontado'}, + footCredit: { + en: 'A model of the AGC after public sources (MIT Instrumentation Lab, NASA), not affiliated with NASA or MIT', + fr: 'Un modèle de l’AGC d’après les sources publiques (MIT Instrumentation Lab, NASA), sans lien avec la NASA ni le MIT', + es: 'Un modelo del AGC según fuentes públicas (MIT Instrumentation Lab, NASA), sin relación con la NASA ni el MIT', + }, +}; + +/** the string for key in the page's language; extra arguments fill a templated one */ +export const T = makeT(S); diff --git a/machines/rope/agc-shared/live.js b/machines/rope/agc-shared/live.js new file mode 100644 index 0000000..be292fa --- /dev/null +++ b/machines/rope/agc-shared/live.js @@ -0,0 +1,569 @@ +// Rope as a page you drive: the film's machine and overlay, in real time. Seven subsystems (rope, erasable, NOR logic, +// clock, Executive, DSKY, interfaces), three sections (case, trays, module), four views, an orbit you drag and a zoom +// on the wheel, the mission speed from one memory cycle in four seconds to sixty times real time. The DSKY's 19 keys +// work: a verb and a noun go into the Executive's log, which is planned again from that moment, so Verb 16 Noun 68 +// can bring the 1202 back; switching the radar's cycle steals off makes it go away. Left alone, the page plays the +// film's script as an auto tour with the operator's cursor; a click, drag, wheel or key hands control over, 25 s of +// quiet hands it back. +import * as THREE from 'three'; +import {warmComposer} from 'teardown-kit/warm.js'; +import {CUTS, SUBS, VIEWS, createConsole} from './console.js'; +import {loadFonts} from './fonts.js'; +import {CREW_KEYS, EVENTS, GET0, MCT, ROPE_WORDS, bits16, ropePlace} from './machine.js'; +import {jobsAt, simulate} from './executive.js'; +import {DURATION, LOG, SCRIPT, actsAt, camAtName, missionAt, rateAt, ERAS_JOB, ERAS_MCT, ROPE_MCT} from './schedule.js'; +import {L} from './agc.js'; +import {VIEW_FN, calloutsFor, camAt, captionAt, detailFor, dskyText, machineState, makeCursor, prioWord, rateText, smoother, ss} from './film.js'; +import {createStage} from './stage.js'; +import {createChrome} from '../../../shared/chrome.js'; +import {LANG, 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 RATES = [{k: 'mct', r: MCT / 4, label: '1 MCT / 4 S'}, {k: '1', r: 1, label: '×1'}, {k: '10', r: 10, label: '×10'}, {k: '60', r: 60, label: '×60'}]; +const VIEW_OF_SUB = {rope: 'rope', eras: 'eras', nor: 'logic', clock: 'open', exec: 'exec', dsky: 'dsky', iface: 'exec'}; + +const CSS = (top) => ` +html,body{margin:0;background:#efe8d8;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{filter:brightness(.96)} +.hit{position:absolute;pointer-events:auto;cursor:pointer} +.tourchip{position:absolute;left:800px;top:${92 + top}px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;height:26px;padding:0 13px;border:1px solid rgba(70,58,40,.55);background:rgba(241,235,221,.95);color:#2b2925;font:600 13px 'Barlow Condensed',sans-serif;letter-spacing:1.8px;white-space:nowrap;cursor:pointer;pointer-events:auto} +.tourchip i{display:block;width:7px;height:7px;border-radius:50%;background:#1f8a4c} +.tourchip.on i{animation:blink 1.2s steps(2) infinite} +@keyframes blink{50%{opacity:.15}} +.turn{position:fixed;left:0;right:0;bottom:40px;text-align:center;font:600 14px/1.4 'Barlow Condensed',sans-serif;letter-spacing:1.5px;color:#7a7062;text-transform:uppercase;display:none} +@media (orientation:portrait) and (max-width:820px){.turn{display:block}} +.busy{position:absolute;left:800px;top:440px;transform:translateX(-50%);padding:8px 14px;background:rgba(241,235,221,.96);border:1px solid rgba(70,58,40,.55);font:600 14px 'Barlow Condensed',sans-serif;letter-spacing:1.6px;color:#2b2925;display:none} +#app .cap{top:732px} +`; + +export async function runLive() { + const style = document.createElement('style'); + style.textContent = CSS(0); + document.head.appendChild(style); + document.title = tr('docTitle'); + document.documentElement.lang = LANG; + await loadFonts(); + 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, shadow: 4096, pr: 2}, + {samples: 4, shadow: 2048, pr: 1.5}, + {samples: 0, shadow: 1024, 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: 'rope', name: 'Rope', 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 toStage = (cx, cy) => { + const r = app.getBoundingClientRect(); + return [(cx - r.left) / scale, (cy - r.top) / scale]; + }; + const tourChip = document.createElement('div'); + tourChip.className = 'tourchip'; + ui.root.appendChild(tourChip); + const busy = document.createElement('div'); + busy.className = 'busy'; + busy.textContent = tr('busy'); + ui.root.appendChild(busy); + const note = document.createElement('div'); + note.className = 'turn'; + note.textContent = tr('turnPhone'); + document.body.appendChild(note); + + // live controls: mission speed, the radar, back to PDI + 5 min + const ctl = {}; + const mk = (key, x, w, html) => { + const n = document.createElement('div'); + n.className = 'tb'; + Object.assign(n.style, {left: `${x}px`, top: '788px', width: `${w}px`, height: '26px', fontSize: '13px'}); + n.innerHTML = html; + ui.root.appendChild(n); + ctl[key] = n; + return n; + }; + { + const lab = document.createElement('div'); + lab.className = 'gl'; + Object.assign(lab.style, {left: '372px', top: '770px'}); + lab.textContent = tr('speed'); + ui.root.appendChild(lab); + } + RATES.forEach((r, i) => mk('rate' + i, 372 + i * 92, 86, r.label)); + mk('radar', 750, 250, tr('radarOn')); + mk('reset', 1010, 208, tr('restartMission')); + + // ------------------------------------------------------------ the mission: the log, re-planned on the visitor's keys + let radar = true; + let userKeys = []; + let cutKeys = Infinity; // the crew's own keys stop where the visitor took over the keyboard + let log = LOG; + const replan = () => { + busy.style.display = 'block'; + requestAnimationFrame(() => + setTimeout(() => { + log = simulate({keys: [...CREW_KEYS.filter((k) => k[0] < cutKeys), ...userKeys], radar}); + busy.style.display = 'none'; + }, 0), + ); + }; + let s = 306.4; + let rateI = 1; + let T = 0; + + // ------------------------------------------------------------ state + let paused = false; + let view = 'hero'; + let viewAt = 0; + let sub = ''; + let cut = ''; + const off = {az: 0, el: 0, k: 1}; + const cam = {...VIEW_FN.hero(0)}; + const mech = {open: 0, rope: 0, ropeCover: 0, eras: 0, logic: 0, gate: 0}; + let ring = {t: -9, x: 0, y: 0}; + let hidden = false; + let norIn = [0, 0, 0]; + const press = {}; + const pulse = (x, y) => (ring = {t: T, x, y}); + const pulseBtn = (k) => pulse(...(ui.spots[k] || [800, 450])); + + // ------------------------------------------------------------ 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}); + if (log !== LOG || radar !== true) { + radar = true; + userKeys = []; + cutKeys = Infinity; + log = LOG; + } + }; + const takeOver = () => { + lastInput = T; + if (!AP.on) return; + AP.on = false; + const cyc = (T - AP.t0) % DURATION; + s = missionAt(cyc); + const name = camAtName(cyc); + view = name; + viewAt = T - (cyc - SCRIPT.filter((e) => e.cam && e.t <= cyc).pop().t); + sub = {rope: 'rope', eras: 'eras', dsky: 'dsky', exec: 'exec'}[name] || ''; + const a = actsAt(cyc); + Object.assign(mech, {open: a.open, rope: a.rope, ropeCover: a.ropeCover, eras: a.eras, logic: 0, gate: 0}); + cut = a.open > 0.5 ? 'tray' : ''; + rateI = rateAt(cyc) < 0.01 ? 0 : 1; + }; + tourChip.addEventListener('pointerdown', (e) => { + e.stopPropagation(); + lastInput = T; + if (AP.on) takeOver(); + else startTour(); + }); + addEventListener('pointerdown', (e) => { + if (e.target !== tourChip) takeOver(); + }); + + // ------------------------------------------------------------ controls + const setView = (v) => { + view = v; + viewAt = T; + Object.assign(off, {az: 0, el: 0, k: 1}); + }; + for (const k of SUBS) + ui.btn[k].addEventListener('click', () => { + takeOver(); + pulseBtn(k); + sub = sub === k && k !== 'dsky' ? '' : k; + if (sub) { + if (['rope', 'eras', 'nor', 'clock', 'exec', 'iface'].includes(sub)) cut = sub === 'exec' || sub === 'clock' || sub === 'iface' ? 'tray' : 'module'; + setView(VIEW_OF_SUB[sub]); + rateI = sub === 'rope' || sub === 'eras' ? 0 : rateI === 0 ? 1 : rateI; + } else setView(mech.open > 0.5 ? 'open' : 'hero'); + }); + for (const k of CUTS) + ui.btn[k].addEventListener('click', () => { + takeOver(); + pulseBtn(k); + cut = cut === k ? '' : k; + if (cut === 'case') setView('hero'); + else if (cut === 'tray') setView(sub === 'nor' || sub === 'rope' || sub === 'eras' ? 'open' : view === 'hero' ? 'open' : view); + else if (cut === 'module') { + if (!['rope', 'eras', 'nor'].includes(sub)) sub = 'rope'; + setView(VIEW_OF_SUB[sub]); + } else setView('hero'); + }); + for (const k of VIEWS) + ui.btn[k].addEventListener('click', () => { + takeOver(); + pulseBtn(k); + if (k === 'axo') setView(mech.open > 0.5 || cut === 'tray' || cut === 'module' ? 'open' : 'hero'); + else if (k === 'dskyFace') { + sub = 'dsky'; + setView('dsky'); + } else if (k === 'ropeIn') { + sub = 'rope'; + cut = 'module'; + rateI = 0; + setView('rope'); + } else if (k === 'graze') { + if (!cut || cut === 'case') cut = 'tray'; + setView('graze'); + } + }); + RATES.forEach((r, i) => + ctl['rate' + i].addEventListener('click', () => { + takeOver(); + rateI = i; + pulse(...centreOf(ctl['rate' + i])); + }), + ); + ctl.radar.addEventListener('click', () => { + takeOver(); + radar = !radar; + pulse(...centreOf(ctl.radar)); + replan(); + }); + ctl.reset.addEventListener('click', () => { + takeOver(); + s = 300; + userKeys = []; + cutKeys = Infinity; + log = LOG; + if (!radar) replan(); + pulse(...centreOf(ctl.reset)); + }); + const centreOf = (n) => [parseFloat(n.style.left) + parseFloat(n.style.width) / 2, parseFloat(n.style.top) + 13]; + // NOR inputs: three hit areas over the schematic's A, B, C + for (let i = 0; i < 3; i++) { + const d = document.createElement('div'); + d.className = 'hit'; + Object.assign(d.style, {left: `${34 + 14 + 60 + i * 60 - 50}px`, top: `${452 + 36 + 124 - 16}px`, width: '36px', height: '32px'}); + d.addEventListener('click', () => { + if (sub !== 'nor') return; + takeOver(); + norIn[i] = norIn[i] ? 0 : 1; + pulse(34 + 14 + 60 + i * 60 - 32, 452 + 36 + 124); + }); + ui.root.appendChild(d); + } + // the DSKY's keys, by raycast on the 3D face + const ray = new THREE.Raycaster(); + const keyMeshes = Object.values(st.mac.dsky.keys); + const keyAt = (cx, cy) => { + const [x, y] = toStage(cx, cy); + ray.setFromCamera(new THREE.Vector2((x / W) * 2 - 1, -(y / H) * 2 + 1), st.camera); + const hit = ray.intersectObjects(keyMeshes, false)[0]; + return hit?.object.userData.key || null; + }; + const pressKey = (k) => { + if (cutKeys === Infinity) cutKeys = s; + userKeys.push([s + 0.001, k]); + press[k] = T; + replan(); + }; + addEventListener('keydown', (e) => { + if (e.altKey || e.ctrlKey || e.metaKey) return; + const key = e.key.toLowerCase(); + takeOver(); + if (key === ' ') paused = !paused; + else if (key === 'h') hidden = !hidden; + else if (/^[1-7]$/.test(key)) ui.btn[SUBS[+key - 1]].click(); + else return; + e.preventDefault(); + }); + let drag = null; + canvas.addEventListener('pointerdown', (e) => { + const k = keyAt(e.clientX, e.clientY); + if (k) { + takeOver(); + pressKey(k); + return; + } + drag = {x: e.clientX, y: e.clientY}; + canvas.setPointerCapture(e.pointerId); + canvas.classList.add('drag'); + }); + canvas.addEventListener('pointermove', (e) => { + if (!drag) { + canvas.style.cursor = keyAt(e.clientX, e.clientY) ? 'pointer' : ''; + return; + } + off.az += ((e.clientX - drag.x) / scale) * 0.25; + off.el = clamp(off.el + ((e.clientY - drag.y) / scale) * 0.18, -20, 50); + 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.6); + }, + {passive: false}, + ); + + // ------------------------------------------------------------ loops of the live subsystems + const ROPE_LOOP = [0o2625, 0o2626, 0o2627, 0o2630, 0o2631, 0o2632, 0o2633]; + const ropeLoop = (t) => { + const n = Math.floor(t / 3.2); + const addr = ROPE_LOOP[n % ROPE_LOOP.length]; + const w = ROPE_WORDS.findIndex((x) => x.bank === 1 && x.addr === addr); + return {phase: (t / 3.2) % 1, w, core: 4 + (addr - 0o2627), place: ropePlace(1, addr)}; + }; + + // ------------------------------------------------------------ the frame + startTour(); + let last = performance.now(); + const perf = {n: 0, sum: 0, slow: 0, age: 0}; + const ease = (key, want, dt, tau = 0.5) => (mech[key] += (want - mech[key]) * (1 - Math.exp(-dt / tau))); + 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 fx; + let tgt; + let ms; + let det; + let callouts; + let cursor; + let caption; + let rateTxt; + let curView; + let pressNow = {}; + if (AP.on) { + // the film, exactly + const c = T - AP.t0; + const loop = Math.floor(c / DURATION); + const cyc = c - loop * DURATION; + if (loop > AP.loop) AP.loop = loop; + s = missionAt(cyc); + curView = camAtName(cyc); + const t0 = SCRIPT.filter((e) => e.cam && e.t <= cyc).pop().t; + const since = cyc - t0; + ms = machineState(LOG, s); + const acts = actsAt(cyc); + const ropePhase = (s - ROPE_MCT * MCT) / MCT; + const erasPhase = (s - ERAS_MCT * MCT) / MCT; + for (const [ks, k] of LOG.keyEv) { + const d = s - ks; + if (d >= 0 && d < 0.25) pressNow[k] = Math.max(pressNow[k] || 0, 1 - d / 0.25); + } + fx = { + ...acts, + read: {phase: ropePhase >= 0 && ropePhase < 1 ? ropePhase : -1}, + erasRead: {phase: erasPhase >= 0 && erasPhase < 1 ? erasPhase : -1, bit: bits16(prioWord(ERAS_JOB?.kind))[1]}, + rr: curView === 'exec' || curView === 'hero' ? 0.25 + 0.25 * Math.sin(T * 9) : 0, + dsky: {lamps: ms.dsky.lamps, el: ms.dsky, press: pressNow}, + }; + st.mac.update(fx); + tgt = camAt(cyc, st.mac.anchors); + Object.assign(mech, {open: acts.open, rope: acts.rope, ropeCover: acts.ropeCover, eras: acts.eras, logic: 0, gate: 0}); + det = + curView === 'rope' + ? detailFor('rope', s, ms, {ropePhase}) + : curView === 'eras' + ? detailFor('eras', s, ms, {erasPhase, erasJob: ERAS_JOB?.kind, erasSet: 0}) + : curView === 'dsky' + ? detailFor('dsky', s, ms) + : curView === 'exec' + ? detailFor('iface', s, ms, {radar: true}) + : detailFor('clock', s, ms); + const inside = curView === 'rope' ? ss(3.0, 4.2, since) : curView === 'eras' ? ss(2.0, 3.0, since) : 0; + callouts = calloutsFor(curView, st, ss(1.2, 1.9, since), {inside, rrHot: true}); + cursor = tourCursor(cyc); + if (AP.loop > 0 && cyc < 0.8) { + const end = tourCursor(DURATION - 0.01); + const k = ss(0, 0.8, cyc); + cursor = {...cursor, x: end.x + (cursor.x - end.x) * k, y: end.y + (cursor.y - end.y) * k}; + } + caption = captionAt(cyc); + rateTxt = rateText(rateAt(cyc)); + } else { + if (T - lastInput > IDLE) startTour(); + const since = T - viewAt; + curView = view; + if (!paused) s += RATES[rateI].r * dt; + if (s > EVENTS.contact + 6) s = 300; + ms = machineState(log, s); + // mechanisms toward the section and the subsystem + const open = cut === 'tray' || cut === 'module' || ['rope', 'eras', 'nor', 'graze'].includes(view) || (sub && sub !== 'dsky') ? 1 : 0; + ease('open', open, dt, 0.55); + const ready = mech.open > 0.97; + ease('rope', ready && (sub === 'rope' || view === 'rope') ? 1 : 0, dt, 0.45); + ease('ropeCover', mech.rope > 0.95 && (sub === 'rope' || view === 'rope') ? 1 : 0, dt, 0.3); + ease('eras', ready && sub === 'eras' ? 1 : 0, dt, 0.45); + ease('logic', ready && sub === 'nor' ? 1 : 0, dt, 0.45); + ease('gate', mech.logic > 0.9 && sub === 'nor' ? 1 : 0, dt, 0.35); + const inRope = mech.ropeCover > 0.97 && view === 'rope'; + const rl = ropeLoop(T); + const eLoopN = Math.floor(T / 4); + const eSet = eLoopN % 8; + const eJob = jobsAt(log, s)[eSet]; + const erasPhase = sub === 'eras' && mech.eras > 0.95 ? (T / 4) % 1 : -1; + for (const [k, t] of Object.entries(press)) { + const d = T - t; + if (d >= 0 && d < 0.25) pressNow[k] = 1 - d / 0.25; + } + for (const [ks, k] of log.keyEv) { + const d = s - ks; + if (d >= 0 && d < 0.25 && RATES[rateI].r <= 1) pressNow[k] = Math.max(pressNow[k] || 0, 1 - d / 0.25); + } + fx = { + ...mech, + ropeDetail: inRope ? 1 : 0, + read: {phase: inRope ? rl.phase : -1, core: rl.core}, + erasRead: {phase: erasPhase, bit: bits16(prioWord(eJob?.kind))[1]}, + cut: cut === 'case' ? 'case' : '', + rr: (sub === 'iface' || sub === 'exec') && radar ? 0.25 + 0.25 * Math.sin(T * 9) : 0, + dsky: {lamps: ms.dsky.lamps, el: ms.dsky, press: pressNow}, + }; + st.mac.update(fx); + const fn = VIEW_FN[curView] || VIEW_FN.hero; + tgt = fn(curView === 'rope' && !inRope && mech.rope < 0.9 ? Math.min(since, 1.0) : since, st.mac.anchors); + tgt.az += off.az; + tgt.el = clamp(tgt.el + off.el, -10, 85); + tgt.d *= off.k; + const kind = sub || 'clock'; + det = + kind === 'rope' + ? detailFor('rope', s, ms, {ropePhase: inRope ? rl.phase : -1, ropeW: rl.w, place: rl.place}) + : kind === 'eras' + ? detailFor('eras', s, ms, {erasPhase, erasJob: eJob?.kind, erasSet: eSet}) + : kind === 'nor' + ? detailFor('nor', s, ms, {norIn}) + : kind === 'iface' + ? detailFor('iface', s, ms, {radar}) + : detailFor(kind, s, ms); + const inside = curView === 'rope' ? (inRope ? 1 : 0) : curView === 'eras' ? ss(2.0, 3.0, since) : 0; + callouts = calloutsFor(curView, st, ss(1.2, 1.9, since), {inside, rrHot: radar}); + 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}; + caption = tr('cap:live:' + (sub || 'axo')); + rateTxt = paused ? '‖' : rateText(RATES[rateI].r); + } + // the camera eases toward its target, logarithmically in distance (metres down to centimetres) + 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] ?? 0) - (cam[key] ?? 0)) * k; + cam.d = Math.exp(Math.log(cam.d) + (Math.log(tgt.d) - Math.log(cam.d)) * k); + st.frame(fx, {...cam, az: cam.az * D2R, el: cam.el * D2R}); + + ui.root.style.display = hidden ? 'none' : ''; + ui.update({ + get: GET0 + s, + mct: s / MCT, + rateText: rateTxt, + dsky: ms.dsky, + dskyText: dskyText(ms.d, ms.ds), + sets: ms.sets, + vacs: ms.vacs, + busy: ms.busy, + duty: ms.duty, + strip: ms.strip, + stripAt: 84, + alarm: ms.alarm, + execNote: tr('execWait'), + detail: det, + caption, + sub: AP.on ? {rope: 'rope', eras: 'eras', dsky: 'dsky', exec: 'exec'}[curView] || '' : sub, + cut: AP.on ? (mech.open > 0.5 ? 'tray' : '') : cut, + view: AP.on ? '' : {open: 'axo', hero: 'axo', dsky: 'dskyFace', rope: 'ropeIn', graze: 'graze'}[curView] || '', + callouts, + cursor, + }); + RATES.forEach((r, i) => ctl['rate' + i].classList.toggle('on', !AP.on && i === rateI && !paused)); + const rt = radar ? tr('radarOn') : tr('radarOff'); + if (ctl.radar.textContent !== rt) ctl.radar.textContent = rt; + 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); + }; + // the first pose before warming, so every program the frame needs exists + st.mac.update({...mech, ropeDetail: 1, dsky: {lamps: {}, el: machineState(LOG, s).dsky, press: {}}}); + warmComposer(st.renderer, st.composer, st.scene, st.camera).then(() => requestAnimationFrame(frame)); + window.LIVE = { + st, + cam, + startTour, + takeOver, + pressKey, + get tier() { + return tier; + }, + get T() { + return T; + }, + get s() { + return s; + }, + get log() { + return log; + }, + }; + void smoother; + void L; +} diff --git a/machines/rope/agc-shared/machine.js b/machines/rope/agc-shared/machine.js new file mode 100644 index 0000000..3d322af --- /dev/null +++ b/machines/rope/agc-shared/machine.js @@ -0,0 +1,285 @@ +// Rope's one source of figures: the Apollo Guidance Computer Block II (the LM's LGC, Luminary 099, Apollo 11), its +// memories, its clock, its Executive and the descent it flew. No three.js here: the geometry (agc.js), the console, +// the score and check.mjs all read these numbers. Letters refer to REFERENCES.md; [E] marks an estimate. +// +// The one input of the machine is the mission time, counted in memory cycles (MCT) since powered descent initiation +// (PDI, 102:33:05 GET). Everything on screen is a function of it: the word in the rope, the core sets, the lamps, +// VERB / NOUN / PROG and R1-R3 on the DSKY. + +// ------------------------------------------------------------ the computer [W] [S] [H] +export const AGC = { + wordBits: 16, // 15 data bits + 1 odd-parity bit [W] [S] + dataBits: 15, + fixedWords: 36864, // core rope [W] + ropeModules: 6, // B1-B6 [S] + coresPerModule: 512, // 2 layers of 256 [S] + wordsPerCore: 12, // 12 strands of 16 sense lines = 192 lines through or around each core [S] + senseLinesPerCore: 192, + bankWords: 1024, // a fixed bank: 36 banks [V] + erasableWords: 2048, // coincident-current ferrite cores [W] + clockHz: 2.048e6, // crystal [W] + pulsesPerMct: 12, // timing pulses T1-T12, at 1.024 MHz [H] + addMct: 2, // AD: 2 MCT [H] + ics: 2800, // ~2,800 flat-packs, dual 3-input NOR gates [W] + gatesPerIc: 2, + norInputs: 3, + logicModules: 24, // A1-A24, ~120 flat-packs each; A25-A31 interface [S] + massKg: 32, // 70 lb [W] + powerW: 55, // [W] + sizeIn: [24, 12.5, 6.5], // [W] + sizeM: [0.61, 0.32, 0.17], // length, width, height + dskyM: [0.203, 0.203, 0.178], // LM DSKY, 8 x 8 x 7 in [D] +}; +/** one memory cycle: 12 pulses of the 1.024 MHz timing chain (the 2.048 MHz clock halved) */ +export const MCT = AGC.pulsesPerMct / (AGC.clockHz / 2); // 11.71875 µs +export const MCT_PER_S = 1 / MCT; // 85,333 +export const ADD_US = AGC.addMct * MCT * 1e6; // 23.4 µs +export const ADDS_PER_S = 1 / (AGC.addMct * MCT); // 42,667 +export const FIXED_BITS = AGC.fixedWords * AGC.wordBits; // 589,824 +export const ERASABLE_BITS = AGC.erasableWords * AGC.wordBits; // 32,768 +export const WORDS_PER_MODULE = AGC.coresPerModule * AGC.wordsPerCore; // 6,144 + +// ------------------------------------------------------------ the Executive and the radar [E1] [L] +export const EXEC = { + coreSets: 8, // "EIGHT SETS OF 12 REGISTERS EACH" (Luminary 099, ERASABLE_ASSIGNMENTS) [L] [E1] + vacAreas: 5, // [L] [E1] + servicerPeriod: 2, // s, average-G navigation cycle (READACCS) [E1] + // the duty cycle each phase needs, of the whole machine [E1]: margin over 15 % in braking until the landing + // radar locks, ~13 % after (converting its data), 10 % or less with Verb 16 Noun 68 on the DSKY; under 10 % in P64 + braking: 0.85, + lrConvert: 0.015, + n68: 0.03, + approach: [0.835, 0.9], // P64, essential functions only, high gate to P66: the margin falls below 10 % [E1] [E] + manual: 0.8, // P66, lighter [E1] [E] + // the rendezvous radar's CDUs: 2 angles x 6,400 pulses/s at most, one MCT stolen per pulse [E1] + rrPulses: 6400, + rrAngles: 2, + tlossMax: 0.1336, // measured after the flight [E1] + tloss: 0.13, // the value MIT used to reproduce the flight [E1] + // the job mix of this model (which jobs hold a core set and how often they come) is simplified [E] + monitorPeriod: 1, // s, a Verb 16 monitor redisplays every second [P] + approachJobs: 0.06, // P64: the landing-point-designator display job, each 2 s, s of CPU [E] +}; +export const TLOSS_THEORY = EXEC.rrAngles * EXEC.rrPulses * MCT; // 15.0 % + +// ------------------------------------------------------------ the descent of Apollo 11 [J] [R] +export const GET0 = 102 * 3600 + 33 * 60 + 5; // PDI, 102:33:05 GET [R] +export const EVENTS = { + vel: 288, // landing radar velocity data good [E] + alt: 296, // "Altitude light's out", 102:38:11 [J] + p64: 507, // high gate, 102:41:32, 7,400 ft [E1] + p66: 603, // ATT HOLD, P66, 102:43:08 [E1] + lrDrop: 668, // "Altitude (and) velocity lights" 102:44:13 [J] + lrBack: 674, + contact: 755, // "Contact light", 102:45:40 [J] +}; +/** the Apollo 11 alarms as flown, s after PDI, to compare with the model's [R] [E1] */ +export const FLOWN_ALARMS = [ + [317, 1202], // 102:38:22 + [357, 1202], // 102:39:02 + [553, 1201], // 102:42:18 + [578, 1202], // 102:42:43 + [593, 1202], // 102:42:58 +]; +// altitude (ft) and horizontal speed (ft/s) against s after PDI: the crew's call-outs [J]; before high gate, where +// nobody called numbers, a smooth braking profile through the published points (33,500 ft at the first alarm, +// 7,400 ft at high gate) [E] +const ALT_KEYS = [ + [0, 50000], [120, 47200], [240, 40400], [317, 33500], [400, 22500], [460, 14000], [507, 7400], [526, 5000], + [545, 3000], [556, 2000], [598, 750], [602, 700], [606, 600], [611, 540], [621, 400], [628, 350], [641, 300], + [662, 250], [671, 220], [679, 200], [686, 160], [695, 120], [700, 100], [709, 75], [732, 40], [736, 30], [755, 5], [760, 0], +]; +const VH_KEYS = [ + [0, 5560], [120, 4610], [240, 3480], [317, 2700], [400, 1640], [460, 960], [507, 470], [545, 230], [598, 90], + [621, 58], [641, 47], [662, 19], [671, 13], [679, 11], [700, 9], [709, 6], [736, 2], [755, 0.5], [760, 0], +]; +const LPD_KEYS = [[507, 47], [560, 40], [602, 33], [611, 30], [640, 30]]; // LPD angle, degrees [J] [E] + +/** Fritsch-Carlson monotone cubic through keys [[x, y]] */ +export function monotone(keys) { + const n = keys.length; + const x = keys.map((k) => k[0]); + const y = keys.map((k) => k[1]); + 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] = d[0]; + m[n - 1] = d[n - 2]; + for (let i = 1; i < n - 1; i++) m[i] = 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]); + const f = (t) => { + if (t <= x[0]) return y[0] + m[0] * (t - x[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]; + }; + return f; +} +const altF = monotone(ALT_KEYS); +const vhF = monotone(VH_KEYS); +const lpdF = monotone(LPD_KEYS); +const END = 760; +// range still to fly, tabulated once: ∫ vh dt from s to the touchdown point +const RNG_DT = 0.25; +const RNG = (() => { + const n = Math.ceil(END / RNG_DT) + 1; + const r = new Float64Array(n); + for (let i = n - 2; i >= 0; i--) r[i] = r[i + 1] + 0.5 * (vhF(i * RNG_DT) + vhF((i + 1) * RNG_DT)) * RNG_DT; + return r; +})(); +const FT_PER_NM = 6076.12; +const clamp = (x, a, b) => Math.min(b, Math.max(a, x)); + +/** the LM's state s seconds after PDI: altitude (ft), its rate (ft/s), horizontal and total speed, range (ft) */ +export function descent(s) { + const t = clamp(s, 0, END); + const h = Math.max(0, altF(t)); + const hdot = t >= END ? 0 : (altF(Math.min(END, t + 0.5)) - altF(Math.max(0, t - 0.5))) / (Math.min(END, t + 0.5) - Math.max(0, t - 0.5)); + const vh = Math.max(0, vhF(t)); + const i = Math.floor(t / RNG_DT); + const k = t / RNG_DT - i; + const range = i >= RNG.length - 1 ? 0 : RNG[i] * (1 - k) + RNG[i + 1] * k; + // Delta-H: landing-radar altitude minus computed altitude, -2,900 ft when the radar locked [J], then incorporated [E] + const dH = t < EVENTS.alt ? -2900 : -2900 * Math.exp(-(t - EVENTS.alt) / 38); + return {s: t, h, hdot, vh, v: Math.hypot(vh, hdot), range, slantNm: Math.hypot(range, h) / FT_PER_NM, dH, lpd: lpdF(t), tgo: Math.max(0, EVENTS.p64 - t)}; +} +export const DESCENT_END = END; + +// ------------------------------------------------------------ the rope: real words of Luminary 099 [L] +// Assembled words of the Executive's NOVAC (find a core set) and of BAILOUT1, from the Virtual AGC listing of +// Luminary 099 (bank, address, octal word, label, instruction). 15 bits each; the 16th, odd parity, is computed. +export const ROPE_WORDS = [ + [1, 0o2625, 0o34755, 'NOVAC2', 'CAF ZERO'], + [1, 0o2626, 0o54064, '', 'TS LOCCTR'], + [1, 0o2627, 0o32634, '', 'CAF NO.CORES'], + [1, 0o2630, 0o54062, 'NOVAC3', 'TS EXECTEM2'], + [1, 0o2631, 0o50064, '', 'INDEX LOCCTR'], + [1, 0o2632, 0o10167, '', 'CCS PRIORITY'], + [1, 0o2633, 0o12674, '', 'TCF NEXTCORE'], + [1, 0o2634, 0o00007, 'NO.CORES', 'DEC 7'], + [1, 0o2635, 0o12674, '', 'TCF NEXTCORE'], + [1, 0o2636, 0o30063, 'CORFOUND', 'CA NEWPRIO'], + [1, 0o2637, 0o50064, '', 'INDEX LOCCTR'], + [1, 0o2640, 0o54167, '', 'TS PRIORITY'], + [1, 0o2641, 0o75004, '', 'MASK LOW9'], + [1, 0o2642, 0o50064, '', 'INDEX LOCCTR'], + [1, 0o2643, 0o54166, '', 'TS PUSHLOC'], + [1, 0o2674, 0o33033, 'NEXTCORE', 'CAF COREINC'], + [1, 0o2675, 0o26064, '', 'ADS LOCCTR'], + [1, 0o2676, 0o10062, '', 'CCS EXECTEM2'], + [1, 0o2677, 0o12630, '', 'TCF NOVAC3'], + [1, 0o2700, 0o22061, '', 'LXCH EXECTEM1'], + [1, 0o2701, 0o30002, '', 'CA Q'], + [1, 0o2702, 0o05716, '', 'TC BAILOUT1'], + [1, 0o2703, 0o01202, '', 'OCT 1202'], + [2, 0o5716, 0o00004, 'BAILOUT1', 'INHINT'], + [2, 0o5717, 0o53364, '', 'DXCH ALMCADR'], + [2, 0o5720, 0o35742, '', 'CAF ADR40400'], + [2, 0o5721, 0o54061, 'BOTHABRT', 'TS ITEMP1'], + [2, 0o5722, 0o50002, '', 'INDEX Q'], + [2, 0o5723, 0o30000, '', 'CAF 0'], +].map(([bank, addr, word, label, op]) => ({bank, addr, word, label, op, parity: parityBit(word), bits: bits16(word)})); +// the rest of bank 01 around NOVAC2, for the cores either side of the ones above [L] +export const ROPE_NEIGHBOURS = {0o2616: 0o05716, 0o2617: 0o01201, 0o2620: 0o64752, 0o2621: 0o22007, 0o2622: 0o50000, 0o2623: 0o21777, 0o2624: 0o26063}; + +/** odd parity: the 16th bit makes the count of ones odd */ +export function parityBit(w) { + let n = 0; + for (let b = 0; b < 15; b++) n += (w >> b) & 1; + return n % 2 === 0 ? 1 : 0; +} +/** the 16 bits as stored, most significant data bit first, parity last */ +export function bits16(w) { + const out = []; + for (let b = 14; b >= 0; b--) out.push((w >> b) & 1); + out.push(parityBit(w)); + return out; +} +export const octal = (w, n = 5) => w.toString(8).padStart(n, '0'); +/** a fixed address to its place in the ropes: absolute word, module B1-B6, core and strand (the strand mapping is + * this model's: word w of a module sits on core w mod 512, strand ⌊w / 512⌋) [S] [E] */ +export function ropePlace(bank, addr) { + const off = bank >= 2 && addr >= 0o4000 ? addr - (addr >= 0o6000 ? 0o6000 : 0o4000) : addr - 0o2000; + const abs = bank * AGC.bankWords + off; + const module = Math.floor(abs / WORDS_PER_MODULE); + const w = abs % WORDS_PER_MODULE; + return {abs, module, core: w % AGC.coresPerModule, strand: Math.floor(w / AGC.coresPerModule)}; +} +/** the word stored at a bank-01 address of the excerpt, or a neighbour's */ +export function wordAt(bank, addr) { + const r = ROPE_WORDS.find((x) => x.bank === bank && x.addr === addr); + if (r) return r.word; + return ROPE_NEIGHBOURS[addr] ?? null; +} + +// instruction times in MCT [H] +const TIME = {CAF: 2, CA: 2, CS: 2, TS: 2, INDEX: 2, CCS: 2, TCF: 1, TC: 1, ADS: 2, LXCH: 2, DXCH: 3, MASK: 2, INHINT: 1, DEC: 1, OCT: 1}; +/** + * The instructions NOVAC2 runs to find a core set, given how many are busy (the search starts at core set 0 and + * walks up): [{w (index in ROPE_WORDS), mct (its first MCT, from the call), n (its MCTs), erasable?}]. With all 8 + * busy it falls through to BAILOUT1, whose INDEX Q / CAF 0 fetches the word after TC BAILOUT1: 01202, from the rope. + */ +export function novacTrace(busy) { + const idx = (addr, bank = 1) => ROPE_WORDS.findIndex((x) => x.bank === bank && x.addr === addr); + const out = []; + let t = 0; + const run = (addr, bank = 1, extra = {}) => { + const w = idx(addr, bank); + const op = ROPE_WORDS[w].op.split(' ')[0]; + out.push({w, mct: t, n: TIME[op], ...extra}); + t += TIME[op]; + }; + run(0o2625); + run(0o2626); + run(0o2627); + for (let k = 0; k < EXEC.coreSets; k++) { + run(0o2630); + run(0o2631); + run(0o2632, 1, {erasable: {set: k}}); + if (k >= busy) { + // -0 in PRIORITY: the core set is free, CCS skips three to CORFOUND + for (const a of [0o2636, 0o2637, 0o2640, 0o2641, 0o2642, 0o2643]) run(a); + return {trace: out, found: k, mct: t}; + } + run(0o2633); + run(0o2674); + run(0o2675); + run(0o2676); + if (k < EXEC.coreSets - 1) run(0o2677); + } + for (const a of [0o2700, 0o2701, 0o2702]) run(a); + for (const a of [0o5716, 0o5717, 0o5720, 0o5721, 0o5722]) run(a, 2); + run(0o5723, 2, {fetch: idx(0o2703)}); + return {trace: out, found: -1, mct: t}; +} + +// ------------------------------------------------------------ the sound [Q] +/** Quindar tones: the ground's transmitter keyed with 2,525 Hz, released with 2,475 Hz, 250 ms each */ +export const QUINDAR = {intro: 2525, outro: 2475, ms: 250}; + +// ------------------------------------------------------------ the DSKY [D] [P] +export const DSKY_KEYS = ['VERB', 'NOUN', '+', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'CLR', 'PRO', 'KEY REL', 'ENTR', 'RSET']; +// LM DSKY lamps, left and right columns [D] +export const LAMPS = [ + ['UPLINK ACTY', 'TEMP'], + ['NO ATT', 'GIMBAL LOCK'], + ['STBY', 'PROG'], + ['KEY REL', 'RESTART'], + ['OPR ERR', 'TRACKER'], + ['', 'ALT'], + ['', 'VEL'], +]; +// the crew's keystrokes, s after PDI [J] [E]: Aldrin calls up the Delta-H monitor, reads the alarm code, resets, +// calls the monitor again before the second alarm, then leaves it to Houston +export const CREW_KEYS = [ + [302.6, 'VERB'], [303.0, '1'], [303.4, '6'], [303.9, 'NOUN'], [304.3, '6'], [304.7, '8'], [305.3, 'ENTR'], + [319.6, 'VERB'], [320.0, '0'], [320.4, '5'], [320.9, 'NOUN'], [321.3, '0'], [321.7, '9'], [322.3, 'ENTR'], + [323.6, 'RSET'], + [347.6, 'VERB'], [348.0, '1'], [348.4, '6'], [348.9, 'NOUN'], [349.3, '6'], [349.7, '8'], [350.3, 'ENTR'], + [362.0, 'RSET'], + [581.0, 'RSET'], [590.5, 'RSET'], [601.0, 'RSET'], +]; diff --git a/machines/rope/agc-shared/make-timeline.mjs b/machines/rope/agc-shared/make-timeline.mjs new file mode 100644 index 0000000..878b43f --- /dev/null +++ b/machines/rope/agc-shared/make-timeline.mjs @@ -0,0 +1,32 @@ +// Writes ../agc-film/timeline.json (the film's beats, for review sheets and the score) and ../agc-film/sfx.json (every +// sound event), from the same schedule and Executive log the film draws: the DSKY key presses, the alarms, the +// Quindar tones of the radio calls. node agc-shared/make-timeline.mjs (from machines/rope) +import fs from 'node:fs'; +import path from 'node:path'; +import {fileURLToPath} from 'node:url'; +import {QUINDAR} from './machine.js'; +import {DURATION, LOG, SCRIPT, T, filmAt, missionAt, rateAt} from './schedule.js'; + +const HERE = path.dirname(fileURLToPath(import.meta.url)); +const r = (x) => +x.toFixed(3); +const inFilm = (t) => t >= 0 && t < DURATION - 0.1; +// key clicks: every press of the log heard at a film pace slow enough to hear it as a press +const keys = LOG.keyEv.filter(([s]) => s > missionAt(0)).map(([s]) => filmAt(s)).filter((t) => inFilm(t) && rateAt(t) < 6).map(r); +const alarms = LOG.alarms.map((a) => ({t: r(filmAt(a.s)), code: a.code})).filter((a) => inFilm(a.t)); +// Quindar tones: the start and end of the radio exchanges about the alarm (Armstrong's call, Houston's "go") [J] +const calls = [ + [T.alarm + 0.9, T.alarm + 2.3], + [T.alarm + 3.6, T.alarm + 4.6], + [T.contact + 0.2, T.contact + 1.4], +].map(([a, b]) => [r(a), r(b)]); +const beats = { + views: SCRIPT.filter((e) => e.t > 0).map((e) => e.t), + ropeRead: T.ropeIn, + erasRead: T.erasIn, + alarm: alarms[0].t, + ff: T.ff, + contact: T.contact, +}; +fs.writeFileSync(path.join(HERE, '../agc-film/timeline.json'), JSON.stringify({duration: DURATION, beats})); +fs.writeFileSync(path.join(HERE, '../agc-film/sfx.json'), JSON.stringify({keys, alarms, calls, quindar: QUINDAR})); +console.log(beats, keys.length, 'key presses', alarms.length, 'alarms'); diff --git a/machines/rope/agc-shared/schedule.js b/machines/rope/agc-shared/schedule.js new file mode 100644 index 0000000..3f840ef --- /dev/null +++ b/machines/rope/agc-shared/schedule.js @@ -0,0 +1,87 @@ +// The film's operator script and its one input: the mission time s (seconds after PDI, counted on screen in MCT) as +// a monotone function of film time t. It crawls through two single memory cycles (a word read from the rope, a word +// read and rewritten in erasable memory), runs at about twice real time into the first 1202, then fast-forwards +// through P64 to touchdown. No three.js, so the timeline and the score can import it in node. +import {EVENTS, MCT, ROPE_WORDS, novacTrace} from './machine.js'; +import {jobsAt, simulate} from './executive.js'; + +export const DURATION = 40; +/** the flown log: the crew's keys, the radar's steals on */ +export const LOG = simulate(); +export const ALARM1 = LOG.alarms[0]; + +// the NOVAC call the film slows down on: the first monitor-job request after 307.6 s +const REQ = LOG.jobs.find((j) => j.kind === 'monitor' && j.t0 >= 307.6); +export const NOVAC = {req: REQ, ...novacTrace(REQ.set)}; +const base = Math.round(REQ.t0 / MCT); +const iCaf = NOVAC.trace.findIndex((x) => ROPE_WORDS[x.w].op === 'CAF NO.CORES'); +const iCcs = NOVAC.trace.findIndex((x) => x.erasable); +/** the MCT in which the rope gives CAF NO.CORES (fetched in the last MCT before it runs) */ +export const ROPE_MCT = base + NOVAC.trace[iCaf].mct - 1; +/** the MCT in which CCS PRIORITY reads core set 0's PRIORITY register (and rewrites it) */ +export const ERAS_MCT = base + NOVAC.trace[iCcs].mct + 1; +export const ERAS_JOB = jobsAt(LOG, REQ.t0)[0]; +const sR = ROPE_MCT * MCT; +const sE = ERAS_MCT * MCT; +const R_SLOW = MCT / 4; // one MCT in 4 s of film +export const T = {ropeIn: 10.2, erasIn: 16.0, alarm: 27.6, ff: 32.4, contact: 37.4}; + +const cubicOut = (u) => 1 - (1 - u) ** 3; +const cubicIn = (u) => u ** 3; +const smoother = (u) => u * u * u * (u * (u * 6 - 15) + 10); +// [t0, t1, s0, s1, ease] +const SEGS = [ + [0, 9.6, 306.4, sR + (9.6 - T.ropeIn) * R_SLOW, cubicOut], + [9.6, 14.8, sR + (9.6 - T.ropeIn) * R_SLOW, sR + (14.8 - T.ropeIn) * R_SLOW, (u) => u], + [14.8, 15.6, sR + (14.8 - T.ropeIn) * R_SLOW, sE + (15.6 - T.erasIn) * R_SLOW, (u) => u], + [15.6, 20.2, sE + (15.6 - T.erasIn) * R_SLOW, sE + (20.2 - T.erasIn) * R_SLOW, (u) => u], + [20.2, T.alarm, sE + (20.2 - T.erasIn) * R_SLOW, ALARM1.s, cubicIn], + [T.alarm, T.ff, ALARM1.s, 324.0, (u) => u], + [T.ff, T.contact, 324.0, EVENTS.contact + 0.4, smoother], + [T.contact, DURATION + 1, EVENTS.contact + 0.4, EVENTS.contact + 3.2, (u) => u], +]; +/** mission seconds after PDI at film time t */ +export function missionAt(t) { + const sg = SEGS.find((x) => t < x[1]) ?? SEGS[SEGS.length - 1]; + const u = Math.min(1, Math.max(0, (t - sg[0]) / (sg[1] - sg[0]))); + return sg[2] + (sg[3] - sg[2]) * sg[4](u); +} +/** film time at which the mission reaches s (binary search: s is monotone in t) */ +export function filmAt(s) { + let lo = 0; + let hi = DURATION + 1; + for (let k = 0; k < 50; k++) { + const mid = (lo + hi) / 2; + if (missionAt(mid) < s) lo = mid; + else hi = mid; + } + return (lo + hi) / 2; +} +/** mission seconds per film second at t */ +export const rateAt = (t) => (missionAt(t + 0.004) - missionAt(Math.max(0, t - 0.004))) / (t > 0.004 ? 0.008 : 0.004); + +// operator moves: camera views and the button pressed for each; `act` are the mechanical states +export const SCRIPT = [ + {t: 0, cam: 'hero'}, + {t: 3.0, cam: 'open', btn: 'tray'}, + {t: 6.8, cam: 'rope', btn: 'rope'}, + {t: 14.6, cam: 'eras', btn: 'eras'}, + {t: 20.2, cam: 'dsky', btn: 'dsky'}, + {t: 24.0, cam: 'exec', btn: 'exec'}, + {t: 32.4, cam: 'hero', btn: 'case'}, +]; +const ramp = (a, b, t) => smoother(Math.min(1, Math.max(0, (t - a) / (b - a)))); +/** the machine's mechanical states at film time t */ +export function actsAt(t) { + return { + open: ramp(3.2, 6.4, t) * (1 - ramp(32.8, 36.4, t)), + rope: ramp(7.0, 8.6, t) * (1 - ramp(16.0, 17.4, t)), + ropeCover: ramp(8.4, 9.2, t) * (1 - ramp(15.6, 16.0, t)), + ropeDetail: t > 8.7 && t < 15.6 ? 1 : 0, + eras: ramp(15.0, 16.0, t) * (1 - ramp(20.4, 21.4, t)), + logic: 0, + gate: 0, + cut: '', + }; +} +export const camAtName = (t) => SCRIPT.filter((e) => e.cam && e.t <= t).pop().cam; diff --git a/machines/rope/agc-shared/score.py b/machines/rope/agc-shared/score.py new file mode 100644 index 0000000..612653b --- /dev/null +++ b/machines/rope/agc-shared/score.py @@ -0,0 +1,71 @@ +"""Score for Rope (the Apollo Guidance Computer, after public sources): the AGC itself makes no sound, so there is no +hum. A very low, dry bed in D the whole way; a dry click on every DSKY key press (from sfx.json, computed by +make-timeline.mjs from the Executive's log); Quindar tones at the start (2,525 Hz) and end (2,475 Hz) of each radio +exchange; the master alarm tone at the first 1202 (a square wave alternating 750 and 2,000 Hz, after the Apollo +Operations Handbook's caution-and-warning description), shorter for the alarms of the fast forward; a soft tick +on each button the operator presses; a low thud at contact. + + node agc-shared/make-timeline.mjs && python3 "$SKILL_DIR/run_sfx.py" agc-shared/score.py +""" + +import json +import math +import os + +from sfx.score_kit import beep, hiss, hz, thud +from sfx.synth import SR, click, pad + +TIMELINE = "../agc-film/timeline.json" +OUT = os.path.join(os.environ.get("TEARDOWN_OUT", "teardown-out"), "rope-score.wav") +TARGET_LUFS = -14.0 +SEED = 1969 +HERE = os.path.dirname(os.path.abspath(__file__)) + + +def square_alarm(dur, f_a=750.0, f_b=2000.0, rate=2.5, level=1.0): + """The master alarm: a soft-edged square wave switching between two pitches `rate` times a second.""" + n = int(dur * SR) + out = [] + ph = 0.0 + for k in range(n): + t = k / SR + f = f_a if int(t * rate * 2) % 2 == 0 else f_b + ph += 2 * math.pi * f / SR + s = math.tanh(3.0 * math.sin(ph)) * 0.6 + env = min(1.0, t / 0.01, (dur - t) / 0.04) + out.append(level * s * env) + return out + + +def score(mix, tl): + dur = tl["duration"] + b = tl["beats"] + with open(os.path.join(HERE, "../agc-film/sfx.json"), encoding="utf8") as f: + fx = json.load(f) + # the bed: one key, D, low and dry (no tremolo, no drums) + chords = [(0.0, [hz("D2"), hz("A2"), hz("D3")]), (12.0, [hz("D2"), hz("A2"), hz("E3")]), (24.0, [hz("D2"), hz("A2"), hz("D3")]), (33.0, [hz("D2"), hz("A2"), hz("F#3")])] + left, right = pad(dur, chords, detune=0.25, tremolo=0.0, xfade=1.2) + mix.put_stereo(0, left, right, 0.05) + # the operator's buttons + for t in b["views"]: + mix.put(t, click(2200, 0.022), 0.04) + # the DSKY keys: a dry mechanical click + for i, t in enumerate(fx["keys"]): + mix.put(t, click(1300 + 60 * (i % 3), 0.03), 0.16, pan=0.25) + mix.put(t + 0.004, click(4200, 0.01), 0.05, pan=0.25) + # Quindar tones round each radio exchange, with a little band noise under the open channel + q = fx["quindar"] + for t0, t1 in fx["calls"]: + mix.put(t0, beep(q["intro"], q["ms"] / 1000, 1.0), 0.05) + mix.put(t0 + 0.25, hiss(max(0.1, t1 - t0 - 0.25), 2600, 1.0), 0.006) + mix.put(t1, beep(q["outro"], q["ms"] / 1000, 1.0), 0.05) + # the alarms: the first in full, the fast-forward ones as short bursts + for i, a in enumerate(fx["alarms"]): + if a["t"] >= dur - 0.2: + continue + if i == 0: + mix.put(a["t"], square_alarm(1.6), 0.05) + elif all(abs(a["t"] - x["t"]) > 0.35 for x in fx["alarms"][:i]): + mix.put(a["t"], square_alarm(0.4), 0.03) + # contact + mix.put(b["contact"], thud(70, 0.25, 0.8), 0.22) diff --git a/machines/rope/agc-shared/seg7.js b/machines/rope/agc-shared/seg7.js new file mode 100644 index 0000000..7c9d78a --- /dev/null +++ b/machines/rope/agc-shared/seg7.js @@ -0,0 +1,69 @@ +// Seven-segment digits drawn by code, for the DSKY's electroluminescent panel (a canvas texture in 3D) and for every +// figure of the console (SVG). Segments a-g, plus the DSKY's sign (a vertical bar crossing g makes +). +// +// aaa +// f b +// ggg +// e c +// ddd +const SEG = { + 0: 'abcdef', 1: 'bc', 2: 'abdeg', 3: 'abcdg', 4: 'bcfg', 5: 'acdfg', 6: 'acdefg', 7: 'abc', 8: 'abcdefg', 9: 'abcdfg', + '-': 'g', '+': 'g+', ' ': '', E: 'adefg', r: 'eg', o: 'cdeg', P: 'abefg', A: 'abcefg', L: 'def', H: 'bcefg', F: 'aefg', C: 'adef', +}; +/** the segment polygons of one digit in a w x h box at (x, y), as [[x, y], ...] lists; slant in fractions of w */ +export function digitPolys(ch, x, y, w, h, slant = 0.08) { + const segs = SEG[ch] ?? ''; + const t = Math.max(1, w * 0.17); + const g = t * 0.22; + const sk = (px, py) => [x + px + (h / 2 - py) * slant * (w / h) * 2, y + py]; + const H = (px0, px1, py) => [sk(px0 + g, py), sk(px0 + t / 2 + g, py - t / 2), sk(px1 - t / 2 - g, py - t / 2), sk(px1 - g, py), sk(px1 - t / 2 - g, py + t / 2), sk(px0 + t / 2 + g, py + t / 2)]; + const V = (px, py0, py1) => [sk(px, py0 + g), sk(px + t / 2, py0 + t / 2 + g), sk(px + t / 2, py1 - t / 2 - g), sk(px, py1 - g), sk(px - t / 2, py1 - t / 2 - g), sk(px - t / 2, py0 + t / 2 + g)]; + const P = { + a: H(t / 2, w - t / 2, t / 2), + g: H(t / 2, w - t / 2, h / 2), + d: H(t / 2, w - t / 2, h - t / 2), + f: V(t / 2, t / 2, h / 2), + b: V(w - t / 2, t / 2, h / 2), + e: V(t / 2, h / 2, h - t / 2), + c: V(w - t / 2, h / 2, h - t / 2), + '+': V(w / 2, h / 2 - w * 0.36, h / 2 + w * 0.36), + }; + const all = 'abcdefg+'.split(''); + return all.map((k) => ({k, on: segs.includes(k), pts: P[k]})).filter((s) => s.k !== '+' || s.on); +} +/** draws a string of digits on a 2D canvas context; off segments in `off` (null: not drawn) */ +export function drawDigits(ctx, str, x, y, w, h, gap, on, off = null, slant = 0.08) { + [...str].forEach((ch, i) => { + for (const s of digitPolys(ch, x + i * (w + gap), y, w, h, slant)) { + if (!s.on && !off) continue; + ctx.fillStyle = s.on ? on : off; + ctx.beginPath(); + s.pts.forEach(([px, py], j) => (j ? ctx.lineTo(px, py) : ctx.moveTo(px, py))); + ctx.closePath(); + ctx.fill(); + } + }); +} +/** the same as SVG paths (one string), for the console; '.' and ':' take a narrow cell of their own */ +export function svgDigits(str, x, y, w, h, gap, on, off = null, slant = 0.08) { + let out = ''; + let cx = x; + const r = Math.max(1, w * 0.1); + const dot = (px, py) => ``; + for (const ch of str) { + if (ch === '.' || ch === ':') { + const px = cx + w * 0.12; + out += ch === '.' ? dot(px, y + h - r) : dot(px, y + h * 0.3) + dot(px, y + h * 0.7); + cx += w * 0.24 + gap; + continue; + } + for (const s of digitPolys(ch, cx, y, w, h, slant)) { + if (!s.on && !off) continue; + out += ``; + } + cx += w + gap; + } + return out; +} +/** width of a string drawn by svgDigits */ +export const digitsWidth = (str, w, gap) => [...str].reduce((a, ch) => a + (ch === '.' || ch === ':' ? w * 0.24 : w) + gap, 0) - gap; diff --git a/machines/rope/agc-shared/stage.js b/machines/rope/agc-shared/stage.js new file mode 100644 index 0000000..c8bc45b --- /dev/null +++ b/machines/rope/agc-shared/stage.js @@ -0,0 +1,169 @@ +// Rope's stage: a sheet of the MIT Instrumentation Lab's documentation rather than a studio. Warm ivory paper with a +// faint millimetre grid and a drawing frame (a screen-space background, so the grid stays put like the sheet it is), +// one warm desk lamp low on the left for long soft shadows, a pale fill. The camera is a long lens, close to an +// axonometric projection. frame(fx, cam) poses the machine and draws one frame. +import * as THREE from 'three'; +import {EffectComposer} from 'three/addons/postprocessing/EffectComposer.js'; +import {OutputPass} from 'three/addons/postprocessing/OutputPass.js'; +import {RenderPass} from 'three/addons/postprocessing/RenderPass.js'; +import {buildMachine} from './agc.js'; + +export const PAPER = {bg: '#efe8d8', minor: 'rgba(120,96,58,0.075)', major: 'rgba(120,96,58,0.14)', frame: 'rgba(70,58,40,0.55)'}; +const V3 = THREE.Vector3; + +/** the drawing sheet: grid every 6 px ("1 mm"), heavier every 60, a frame with zone letters; 1600 x 900 layout */ +export function paperCanvas(scale = 2) { + const W = 1600; + const H = 900; + const c = document.createElement('canvas'); + c.width = W * scale; + c.height = H * scale; + const g = c.getContext('2d'); + g.scale(scale, scale); + g.fillStyle = PAPER.bg; + g.fillRect(0, 0, W, H); + // a faint warm vignette, like a lamp on paper + const rg = g.createRadialGradient(W * 0.36, H * 0.3, 80, W * 0.5, H * 0.5, W * 0.75); + rg.addColorStop(0, 'rgba(255,250,236,0.5)'); + rg.addColorStop(1, 'rgba(160,130,80,0.10)'); + g.fillStyle = rg; + g.fillRect(0, 0, W, H); + const line = (x0, y0, x1, y1, col, w) => { + g.strokeStyle = col; + g.lineWidth = w; + g.beginPath(); + g.moveTo(x0, y0); + g.lineTo(x1, y1); + g.stroke(); + }; + const m = 14; + for (let x = m; x <= W - m; x += 6) line(x + 0.25, m, x + 0.25, H - m, (x - m) % 60 === 0 ? PAPER.major : PAPER.minor, (x - m) % 60 === 0 ? 0.7 : 0.45); + for (let y = m; y <= H - m; y += 6) line(m, y + 0.25, W - m, y + 0.25, (y - m) % 60 === 0 ? PAPER.major : PAPER.minor, (y - m) % 60 === 0 ? 0.7 : 0.45); + g.strokeStyle = PAPER.frame; + g.lineWidth = 1.2; + g.strokeRect(m, m, W - 2 * m, H - 2 * m); + g.lineWidth = 0.6; + g.strokeRect(m - 5, m - 5, W - 2 * m + 10, H - 2 * m + 10); + return c; +} + +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.PCFShadowMap; + renderer.localClippingEnabled = true; + const scene = new THREE.Scene(); + const bgTex = new THREE.CanvasTexture(paperCanvas(2)); + bgTex.colorSpace = THREE.SRGBColorSpace; + scene.background = bgTex; + const camera = new THREE.PerspectiveCamera(18, 16 / 9, 0.001, 30); + const composer = new EffectComposer(renderer, new THREE.WebGLRenderTarget(4, 4, {type: THREE.HalfFloatType, samples: 8})); + composer.addPass(new RenderPass(scene, camera)); + composer.addPass(new OutputPass()); + + // a warm room for the metal to reflect + { + const env = new THREE.Scene(); + env.background = new THREE.Color('#d8cdb5'); + const box = (w, h, pos, col, k) => { + const m = new THREE.Mesh(new THREE.PlaneGeometry(w, h), new THREE.MeshBasicMaterial({color: new THREE.Color(col).multiplyScalar(k), side: THREE.DoubleSide})); + m.position.copy(pos); + m.lookAt(0, 0.5, 0); + env.add(m); + }; + box(10, 10, new V3(-3, 9, 4), '#fff3dc', 2.2); + box(4, 8, new V3(-9, 3, 2), '#ffe9c4', 1.8); + box(4, 8, new V3(9, 3, -3), '#f2efe6', 1.1); + const pm = new THREE.PMREMGenerator(renderer); + scene.environment = pm.fromScene(env, 0.03).texture; + scene.environmentIntensity = 0.75; + pm.dispose(); + } + // the desk lamp: warm, low on the left and in front, long shadows + const lamp = new THREE.DirectionalLight('#ffe2b8', 2.6); + lamp.position.set(-1.6, 1.25, 1.35); + lamp.target.position.set(0, 0, -0.05); + lamp.castShadow = true; + Object.assign(lamp.shadow.camera, {left: -0.9, right: 0.9, top: 0.75, bottom: -0.75, near: 0.5, far: 4.5}); + lamp.shadow.mapSize.set(4096, 4096); + lamp.shadow.radius = 5; + lamp.shadow.bias = -0.0003; + lamp.shadow.normalBias = 0.0015; + scene.add(lamp, lamp.target); + scene.add(new THREE.HemisphereLight('#fff8ea', '#cdbf9f', 1.05)); + const fill = new THREE.DirectionalLight('#e8eef5', 0.45); + fill.position.set(1.4, 0.9, 1.6); + scene.add(fill); + // a lamp that follows the camera when it is inside a module, so the cores read + const inner = new THREE.PointLight('#fff1da', 0, 0.3, 1.5); + scene.add(inner); + + const shade = new THREE.Mesh( + new THREE.PlaneGeometry(8, 8), + new THREE.ShadowMaterial({color: '#5a4630', opacity: 0.3, polygonOffset: true, polygonOffsetFactor: -4, polygonOffsetUnits: -8}), + ); + shade.rotation.x = -Math.PI / 2; + shade.receiveShadow = true; + scene.add(shade); + + const mac = buildMachine(); + scene.add(mac.root); + mac.root.traverse((o) => { + if (o.isMesh && !o.isInstancedMesh) { + o.castShadow = o.castShadow ?? true; + o.receiveShadow = true; + } + }); + + 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(); + }; + // cam: target (tx, ty, tz), azimuth from +z toward +x, elevation, distance (radians, metres), fov, sx/sy screen shift + const frame = (fx, cam) => { + const {tx, ty, tz, az, el, d} = cam; + camera.fov = cam.fov ?? 18; + 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.0005, d * 0.05); + camera.far = Math.max(6, d * 20); + camera.updateProjectionMatrix(); + camera.setViewOffset(size.w, size.h, -(cam.sx ?? 0), -(cam.sy ?? 0), size.w, size.h); + camera.updateMatrixWorld(); + const close = Math.max(0, Math.min(1, (0.3 - d) / 0.2)); + inner.intensity = close * 0.25; + inner.position.copy(camera.position).add(new V3(-0.01, 0.02, 0.01)); + mac.update(fx); + 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, shadow}) => { + if (samples !== undefined) + for (const t of [composer.renderTarget1, composer.renderTarget2]) { + t.samples = samples; + t.dispose(); + } + if (shadow !== undefined) { + lamp.shadow.mapSize.set(shadow, shadow); + lamp.shadow.map?.dispose(); + lamp.shadow.map = null; + } + }; + return {renderer, scene, camera, mac, composer, lamp, resize, frame, project, size, setQuality}; +} diff --git a/machines/rope/check.mjs b/machines/rope/check.mjs new file mode 100644 index 0000000..a661f56 --- /dev/null +++ b/machines/rope/check.mjs @@ -0,0 +1,88 @@ +// Recomputes, from the same functions the page draws with, every figure Rope shows, and fails if one leaves the range +// its source gives. node machines/rope/check.mjs (CI runs it on every push). +import * as M from './agc-shared/machine.js'; +import {simulate} from './agc-shared/executive.js'; + +let bad = 0; +const near = (name, v, lo, hi, unit = '') => { + const ok = v >= lo && v <= hi; + if (!ok) bad++; + const f = (x) => (unit === 'octal' ? `0${x.toString(8)}` : Number(Number(x).toPrecision(7))); + console.log(`${ok ? 'ok ' : 'BAD'} ${name.padEnd(50)} ${f(v)} ${unit === 'octal' ? '' : unit} [${f(lo)} … ${f(hi)}]`); +}; + +// the clock [W] [H]: 2.048 MHz halved, 12 timing pulses per memory cycle +near('memory cycle (MCT)', M.MCT * 1e6, 11.71, 11.72, 'µs'); +near('MCT per second', M.MCT_PER_S, 85333, 85334); +near('addition, 2 MCT', M.ADD_US, 23.43, 23.44, 'µs'); +near('additions per second', M.ADDS_PER_S, 42666, 42667); +// the word [W]: 15 data bits + odd parity +near('word', M.AGC.dataBits + 1, 16, 16, 'bits'); +// the memories [W] [S]: 6 ropes x 512 cores x 12 words = 36,864 words; 2,048 erasable words +near('rope words per module (512 cores x 12)', M.WORDS_PER_MODULE, 6144, 6144); +near('fixed words (6 modules)', M.AGC.ropeModules * M.WORDS_PER_MODULE, 36864, 36864); +near('fixed words = 36 banks of 1,024', 36 * M.AGC.bankWords, 36864, 36864); +near('fixed memory in bits', M.FIXED_BITS, 589824, 589824); +near('sense lines per core (12 strands of 16)', M.AGC.wordsPerCore * 16, M.AGC.senseLinesPerCore, M.AGC.senseLinesPerCore); +near('erasable memory in bits', M.ERASABLE_BITS, 32768, 32768); +// one kind of gate: ~2,800 dual 3-input NOR flat-packs [W] +near('NOR gates', M.AGC.ics * M.AGC.gatesPerIc, 5600, 5600); +// the box [W]: 24 x 12.5 x 6.5 in = 61 x 32 x 17 cm +M.AGC.sizeIn.forEach((x, i) => near(` box dimension ${i + 1}`, x * 0.0254, M.AGC.sizeM[i] - 0.005, M.AGC.sizeM[i] + 0.005, 'm')); +// odd parity on every word of the excerpt [L]: the count of ones, parity included, is odd +let parityBad = 0; +for (const w of M.ROPE_WORDS) if (w.bits.reduce((a, b) => a + b, 0) % 2 !== 1) parityBad++; +near('words with even parity in the excerpt', parityBad, 0, 0); +// the word the film reads, CAF NO.CORES at 01,2627 = 32634 octal [L] +const caf = M.ROPE_WORDS.find((w) => w.op === 'CAF NO.CORES'); +near('CAF NO.CORES at 01,2627', caf.word, 0o32634, 0o32634, 'octal'); +near('its place: module B1', M.ropePlace(caf.bank, caf.addr).module + 1, 1, 1); +// NOVAC2 with all 8 core sets busy falls through to BAILOUT1 and fetches 01202 from the rope +const full = M.novacTrace(8); +near('NOVAC with 8 busy: found', full.found, -1, -1); +near(' the word it fetches from the rope: OCT 1202', M.ROPE_WORDS[full.trace[full.trace.length - 1].fetch].word, 0o1202, 0o1202, 'octal'); +near(' MCTs from NOVAC to the alarm code', full.mct, 60, 140); +// the radar [E1]: 2 angles x 6,400 pulses/s, one MCT each +near('radar steal, theoretical maximum', M.TLOSS_THEORY * 100, 14.9, 15.1, '%'); +near('radar steal used by the model', M.EXEC.tloss * 100, 13, M.EXEC.tlossMax * 100, '%'); +// the duty at the first alarm [E1]: braking 85 % + radar data + V16 N68 3 % + 13 % stolen > 100 % +const duty = M.EXEC.braking + M.EXEC.lrConvert + M.EXEC.n68 + M.EXEC.tloss; +near('duty asked at the 1202', duty * 100, 100.01, 104, '%'); +near('duty without the radar', (duty - M.EXEC.tloss) * 100, 85, 91, '%'); +// the log as flown, against Apollo 11's alarms [R] +const L = simulate(); +const a = L.alarms; +near('first alarm is a 1202', a[0].code, 1202, 1202); +near(' at, s after PDI (flown 317, 102:38:22)', a[0].s, 314, 320, 's'); +near(' core sets busy at it', a[0].busy, 8, 8); +near('second alarm is a 1202', a[1].code, 1202, 1202); +near(' at (flown 357, 102:39:02)', a[1].s, 352, 362, 's'); +const p64 = a.filter((x) => x.s > M.EVENTS.p64 && x.s < M.EVENTS.p66); +near('alarms in P64 (flown 3)', p64.length, 2, 4); +near('alarms in P66 and after (flown 0)', a.filter((x) => x.s >= M.EVENTS.p66).length, 0, 0); +near('alarms between the 2nd and P64 (flown 0)', a.filter((x) => x.s > a[1].s + 1 && x.s < M.EVENTS.p64).length, 0, 0); +for (const r of L.restarts) { + if (r.kept.length !== 1 || r.kept[0].kind !== 'servicer') { + bad++; + console.log(`BAD restart at ${r.s.toFixed(2)} kept ${JSON.stringify(r.kept)}`); + } +} +near('restarts that keep exactly the newest SERVICER', L.restarts.filter((r) => r.kept.length === 1 && r.kept[0].kind === 'servicer').length, L.restarts.length, L.restarts.length); +// the radar off: no alarm at all +near('alarms with the radar steals off', simulate({radar: false}).alarms.length, 0, 0); +// the descent [J] [E1]: the published points +near('altitude at the first alarm (~33,500 ft)', M.descent(a[0].s).h, 32500, 34500, 'ft'); +near('altitude at high gate (7,400 ft)', M.descent(M.EVENTS.p64).h, 7300, 7500, 'ft'); +near('slant range at high gate (~7.8 km [G])', M.descent(M.EVENTS.p64).slantNm * 1852, 7000, 8600, 'm'); +near('altitude at contact', M.descent(M.EVENTS.contact).h, 0, 8, 'ft'); +// Quindar tones [Q] +// the Quindar tones the score plays [Q]: 2,525 Hz to key the ground transmitter, 2,475 Hz to release it, 250 ms +near('Quindar intro tone', M.QUINDAR.intro, 2525, 2525, 'Hz'); +near('Quindar release tone', M.QUINDAR.outro, 2475, 2475, 'Hz'); +near('Quindar tone length', M.QUINDAR.ms, 250, 250, 'ms'); + +if (bad) { + console.error(`\n${bad} figure(s) out of range`); + process.exit(1); +} +console.log('\nevery figure in range'); diff --git a/machines/rope/og.png b/machines/rope/og.png new file mode 100644 index 0000000000000000000000000000000000000000..98961852aeacaf683dae9fef600b2cf81df5235d GIT binary patch literal 513362 zcmXt+Lzb75(f|X4Y61g;@P>l`y)r~`g$R0rca_uk06l~M|3j5} zYz+(y4NP82T+27_DhM`@xc%P^7Q&Cj$Dk)yxD-xd{07wxz> z2@)2*KRsZR<43ujEfil}UDegq-QV9M6Y@M>tRlJ`@CVe^Fc^_Vcp67Lc7+CO$Iae5?O^hY|bd!&I?=rO@~xv>>F4DQdHio@UHARJA( z1;)=Anza8Wz`v6GGU~D3+;FDC0LKdyAq_zB8fFd{Cp$WhGmCk;kBU2P&083EMTAz! zN>&KPLWvIIazlzSyFIOA#=z^ds``#Qg#jyBV=zlY0ow##C??wk^o;ihI5*T|jW;2?GcJczm7MaFONCxzBprY;)F8NODMcz)msTRue(&m1v^pBb4iH$xyO{j+dtju1H{*Op3xA!90zFC+QLUTW}x0G?a<2wCGq3)1ZEA z0@lxg;D#fdyx^R%BjmM2FfcR7;Oxh8K3IBO2>nDlH!681xQLGoAJdfBSYe|0t|7tU zBolM-nzShytC^*Cy&}3GKX-MX)f;>rrqmE>YfH{9>D!*TZxOpjSQ^&W#}f&J0gq?k zKa8oBBbf~pJWWvbIbEjS1pgRFo4xnlMWYZ`H8cp*SUJ$4&{_Lyc*4Zn8e`;BcRh)< zCBymh3cIn56=0e>I)wyavS3I#B!4!a-j3DFjx%zC>swZu(Yghqu-RVLX_$}&P$1L7 zZ};)L44jZ8!FR<<_@ULNpmXH&HBWAiO&6R+F{zWs)%V&e@0nV_ zQg?ZE#)UHkQ76;&w&z;5^3TpFA;Dl;V?_dn-;>3|kSmXhV_ML0a-1Yw%oOKg>wn0k zjfi2$a%GTV6&kKrq8OJyQ<~e{EK4md=Dad*v8dTGJ9%AE+ z3vnfOiF#I+ojDG$Ka)oYY&OE>?pV|gONb0+x-5SKW-yIpwW<2K$Zx&hBv>tH3T75- z^@!s8q);C3pDl*F>}`0Uh%9jNHWsbi9L$u``wzVZMu`G>)VsH-pEKnM;TIT#p}ow_ zS#XAbDXl6K8flAVNSsX%2o0klqBl~Duv$o#AlqxX6Cqr4*a4=LHv;M8p<4_MaJ^NW zZ3^QMius=XB&CRQc3BNbjrcq*b3f;|sUg1gYt!TLyun{%#ANfxoxz3U(%sQjzgaBr zSW!ZR+ztWM=&WocQS{StztRi2V;8>CrW>cQW)$+)2=*Eh?kfEPDC z1j$VvKOLm(H>&4aB=888)W{lf;R$eTMJO_S;pJreO4=S*!oncp^DT;pFe1wBmJPU!%4$>(qJ(|8H@mCTa<2dLb_j&OqB!2 z{*|#yk%gh7GL%t4fYH|J5`DX?k;90Wp{n+lzjs|ftoQ{rHR<-abaasU8po`>tREp_ zg})IYUXYefQeRW=SpHsJV}mMcf})!@8x4^kH~$vexk*8D*jGFj6K|JoA1jQxNt&V! zZS^CNK}fd_0=|rGp&D9?U6&B9uO|9>s2~cP37&!?No%-CwqZl5VD1xW`e3lrxMS*P zgUPyMD!&XLa(NT4u;hOi=s)WNpFSuN_cQQvVj zJHt}1pad|0vr3dxkh((hOqlmsj^hlJCo>LHO5E(S^qj?K0cMX92tG4xIH3$EbWo{Q zN5%=zS8)WnXuYK1c5EmaG}JMO$4tp9zL7E5ur0@uIh|=C#>j%*IL;gXEWs8x!VCb| zV#13-6|}y<0EW+ZkfWrIrU*0xh1}t~AE{5Q)-`&Y%w$vPWVtdImYi;^0K;%&Q3`pB zQeQ*c<2p-FY%m%!PbDj4-AD0m+bc1y8W z>v)^$t<*?HqX>AF*(=aeN4=jmCvY)ymrG;Rf21t4;%iBzvnwxmFy_X^#f`s76NoNh zmGH@;=Qj|UAm5JtQ9P&!LW_S*>9^mKt@y^=thX$$@_0MEvK)n2mxOsjquj3C8a!CY zf99^pY1GQE#7h*+n(_ui7)B?#qNuGEcR1UQLND9nWva+8%|`I95J=%BcAnk}6%C|z zHPL@DL*q=vOb=1QrMbjh)tbA)K++Ltk-~qEFl8+1P@1vn)F4N=)0BDMYU!1(!|67r zxsK)UXSeb01hVNuXcH1<{H?W=aG%2`7)`j zPiSSau(l+m7=xg$5}H%3OB92b**dXP13AP8E{WciqT*<HL zb+-Z8u7c_K49=h0LO$}!zh!bjQH`*kj}>9B?PmoScPvL-{?J2=i^Fn%ED6<&Bby3} zv>{etoT8(HgBr%W-Ht!zz~^{1fqa?eQb}R{&86~E)<1jO;bao$LkUXwe#ElfczP zj_uBGsM(H=j+rdR2FAw7tJqvKapM-=+i!*0p4|x>T&Eg$bC8geY~+>BjpF!ax+O{L zaBOK^*x3w55PZ^>-KVv_og7GO(wI?E^;y~68k3L?Zgyg*{@~|op8b3NfpJxL7Mm^B z`1ttF+Z~@Lx!+_G2%xcg?G{UJc6)Jga6oq*9*IOjTN@YIFOWv}x?BSv4*B=_((nJY z)#Jr@1V9C(9Kg3hobd|^{*|>LE@;)}*i0(~*2_aR^3m@2i^``ZkqZxHw8r{)ry~2~ zS+jZnh=?ep8qrH}Rfq$N<>VFM?)gg~;6&Y#)HOSHtz2>8&&h>WK8s}*P=zonUNhDE z!moAMLp{R^tYo3!IwR%$j)vDXT*ynqUDBIPFV&ovps1h_D)NFZ)|92sHmvWZ?)-bWM7V}6B6+HZZ=4eQ7(4$$T+%&LY?HZUZ;pHVTCpp@-D)-LTmL+N!p$&S)_Bv&nq)m*3@DeKr{K2v=Hn$iLtPs{dpn zTJX!RPrjhfUY8qX=vK4kBoK(8hAXbS(;vVqM9!GE-AO9si`Gyau}rIsW%why#+UGq zK_B)uHM_O+uaza;*vqF`rq$zMJC{pd)}$fVsvv^*XnS!TZ%HG0PNJ3Zmkc&l(pZKu zo(X(nBWUg2A`B1Fj$NCxFVS!9!%X{^>4fC>W_O_rp4!+k#>Yh#=A@b0nVlR-VzVV) z_!i!}**qeE8o(AH9uTz&G4h>QaI4L}bjkP%Bx518*{G=_y`cIas9i^+kmquFVL5Cb zk&cipG4C6Vy4^os?>4eAinJV(<(fa%Kh>CqjbpUBXz|LFI%s5gzSS@-NI<~R!+0&3 z>OIxr@{@U@LC(kjW;2ZC;EyLt{Mk+s> z4vZin7ThvBmk>9%wjRN!G?g1?nc%0dA<=FOwr0xfu!>;JX}y-&eW7pI%Gr0!Sb%Yy zi?~Jqp^UgZbt;0=jt>*{nRtacAc;O>Iy&@lD1k<0xJK+xl0V}IU`qJn?}v@$A|C?4FbU=I7L8QVsSwPF?un{na% z^fVw(46H~vEGs=fe~v;GOgNkYZji}|7?xH1L0C}b<3~Nb92Rx3Nuyc;ocfgC!` zDYDJ9dj#uNyeI6}rtpyP11Yzb#+<`Hb(YHX=nr)ybvc{0yg7#A*z|OGG|$SyDr9+z z8~o9zh0OgtfeaN&1SLUZh}ggga3b5?k=D|2Q{Gu7@Z7Li!?(zCs1h$B?V~IzbU=YN zt?86%DH=_7@!q^MP$Mh6Vq#i;+-8bBmu!w1kKkY4sk&9piwZp3v^QZaLNTF=&jH4r zp(}&d_vXS^EpwjV+qTqpT?16t*0^uqEqX>AcXIZqtix9cPrETp`EFU5zh)2eVFR|o zh^CJtQoH*5q&bjKj>oLA#qRTl0a&$huvS8MTS41hRDfhM)jk$EB#$N6jb8sl;Zq*M zW>=h70A@$xNm#QYfi!QR8HPNnqe?AmVN`PQ8y6{^d3ZF+zmJFc!MBrKOjRNDJ%^gX znwFEx#z7Kp2d%i1NLNG(4!Qa6?rt*7){U{*g0XQ^6A@C2C~RROjF^@3@^Wo$?RZ?z z^QGh4gHex@*=#7#Eea9eLW8kjp=!c7mQ|F4Sk8&4|Kr)m+rwl6VP;`rVRAA!0U2Gy z?estpY)eavyZgOZ6TU+9JgzAd-`i2DUs6zPNne=c?fDwINahm!{=Jn~t6GuVfkpP6 z43J`>Pgt}iJgkV(z6hsxvc3_?HpcP*JJx#6bX;rfXP%e_80sm>I25{D+5H=fg`vqE zM7XdPcJVdAo29YiLcSIav_RMozC#JhIKvi6CNA@-IKHC;bE?;Jlaskh+efqzzl2MxgCiE05ROxW#@q=A%2UU(#4g@X|P z*D#-6DFzJq&=)fdsvmrV@X(&n*~?RJ0u@s;;rlI|DN=)KcLe-C`*DsWAK1C(e#Q`Z zS?)?loAemw9!RbY+7P8qBW@+)a z8X`FOx+9v=@mJT0r{t2|alB>^uO~ggwQr}^tvjduqPB~RlrIiZMr!rTGpeNYPk{iU z(Ti2WmQ;<^$y=dfG-MyiYfGp_saBUlCv|g&#maMyY{^-p%_W5&$B6m!C|l_qnMmh- z4^6ENqoTa0Q$I^NLony(NSgmNup+uM)991S5D|BI@F>;P9GJZGN|y>XXXv2T7AK;n zx|6*lIBtJn7H4)Jq$v*IJxq%)5f z09_#6$y9m%`a3bY8X9WdRo1%nimZ&Ei-d{WhK;LDh?2BQSCH_KVlz&M1qzd zKK!e}xOYRXv8w89yOZ@S0}+=+=yyD)oXRXrJ#JaT6S7Ldw8HWFUvnXn!#?XDS*5vl zFa%SJY-bn+o!7A*^6`f%TNI2|KMO5%++Qg-$0ZD9t#FpTFq>D&WQ$uIspF(%--=|9 zEsSG`*zNTsFd6ruvTMdST)1okMEn3t4J7Ly3CQTEj|Sx-C`Sv96*&YO2+0lyTR$qY z%(d7!%I-#}n%detl^;M`28nwUBQ+N~e zcZDM%i#KUN#*Dmb3O zt2;Wp=L>{o6G=dhgV`=nCIY_Hs`sSHp^#pdr74LbncdHQ*c`@ z>j9GZtnyniTD`XYd4|BZ-|`(d-}*1S@-niOM)fev(Xs>Y3l+Kj38d_bSA=L4T?daN=@O3cuFym~s@19-x@^n{}m$^c^u5Jf{s=RyE+i{aIN25kndlnEqc`d3EHEFzom-ml0Rqv3nA2nwH+M<8Ld(z_Ue5h3c9K-ZtD#W2vF7Xq>&6*Soy& za$s;DRSIln2zoTeiC+;x{9M10+!=Hca?w#+8(Ecie2~}q61A`}u^b&UGx8Y@mPC;u z*_Phy)C?nN`1+`*;CysAZwuhWfqlMQuEVmBg$xD2~1hb@v*?ek4@ImJ{z?tWRGue04>j?YX z4M0w;)TpPD*yqZUD#v6{g3Q>LN`Azp`tiFLZJgK>*!uGO2{&NInhhQa{ToK?L>!ad zDmIU)IxV7k7rxOuuIZwK8PfS7V}mRE9;LbDSjPt9VZ(~Aaz@W;iDbDsd|WU2tR8Wn z$F!riWfyg?0+TJNPN@WMGJ_V1*0mWAg4Yji zBZhGdGX4H(xGE-EM+nmKyo1{{`J*y}QwN4Hyhb>v>DW9`U3)YU99zJh$33=14qjln zW*r?90rQ0WHy(C#fb@gmGt?NvD>Oj4*+}wJ0jbDf;8%G{O3FiH$VlZu{eIuqb?1J; z<96@gJQKA9PVz)mT0u{gM&FzM5Mi&6@lBA6Z-BD}!GM$B4UQrz;!F`)hv7UGx`Dj^ z4ZCC;O4;vBnmMUBJm%QC7S?)wxG;57q+{Kb;tCFtNv5uq-s3q*PDeEADs)<~ORhFH zIE#I?HNVW+xQR`)A{~m_ibP{#hxx$#6o7H9EiFX>da0pN3^fj7n)CDX)^l;vmR??7 zPRcM*X{v}?I+9U6S65C_#M5R&TH32kF{jw8>9_L!1~id-d8P-QJvAALICRkyDHJr$ zuS8`YCqJ=(DQILvr9WzG4)~2m@0xFkDQlN)0PA0S3cN2-z*5IOWk46jen* zvK3zw=2^jBB(*!`o{ddR4#dGMy}^CqfE2|JHAJA>qa*0=^A!%p8Sr|mJv#&yfZjVYey0NYuw@G4HQ~)1fCg1NQd*>B+F3w~* z`8^U5k2NVe0s2|3STQbThZR6OLb-b%(Qg$rpN7=EW(YSP8_(d)n5KV__S zXgKf4(mY;k;P9<4S(`O)(qU)S&}*5K>WgREsX#mC#3ng(9P3Z_la6I>06i64Hw@Ey z*cec%sr){ftew(akPagS7weuz|pLdqU_i|3Z%DU zG_wXWu8O3iXb48fSgCrAbc`QLE$U>bl5h0q^xWL5V6;=5#R~4=@Cvn6G`6r-<+iTZ zr4>05Q7XtVbW~Cuwm$-ZiBn6i>YAF6gGgX90btB#@CKC>q}*NA<>l63oN#iBdU!6i zwIfDG*xav(8p(v>pFQvy-dvidU-M;R5u_C{i@MpmA{i^Pik%56mwIFbs zIy1DT!*;%)TC*}g=y~%r&jSZ*!1EkoVK9+|8Jz!jj$;GBoq>_@rr$?kVKeAu_hsz& zJVesEk%x6~@PI{@VUIbK$o;D&A+L*)sxoYPon^E)n1;8?Pf1i^Ep0=e%lgiWGHB7@ zfBi4}|6V~n*JZI}Jl|(;v(dCr^xxb3(7j2})7zf`V;QPMz1{Lm6aN$aRPZlE^RY?XxHqi`JSl8nlj&1cS1}fIVz?oDH)y{o zQu!4kUAs105-0q}J4BX}*iQDSPJQbQ&>H=cHr+%`;;rmQfv<_oO6Ev1g)mZE=;sZ%4LXg~iRHI(sW#1GhvQqB2+xSHxQSwHLo?zEJGd?8N4o#EsMIdT>i)I(8Zs`~tzs1k&xB@^w8*qU&i zf3^P34J8Q!Bx0O;pD`Ja`lIGP&M48%+KEOSNm4)3h|)#hs%P>tFv)7qV8eB*pDX<; za_wxP;9u_U?#5^8#AFqB*TKN zLs+A~(j&vZwBY~16z6QFk3h$MVZ(Ung)OpR?rUoF1yD507b}kercLp`+Z9sX;39^P zWn^)$9>g3)0Yb&$rev_*e#B=;p^#X@{%lc?gth_Baqth3&A5Bb(7;q!wS1MRHaSFE zlpyLqKjTmEa9hb7&@hDtNt05HBehs3wY!h!B-dGs)!Mt(BAC(XsK7+gh%p97LPx66 zI@;y5F97hwn{;c?{G&zD7a3d7SIMilBB=_+F5f}Mci;DtxF|`^_!^!z&vg`eomjxr zZYwB+kj-qUOg>f2Lg;fPm1W@d@V@3Enl#uKgyXTOj#)$AW{Sim#dHFX)7MXa=I5rT zdmpFklJL4?r9JEgkk01ve*3XP|8P2Q+U<0_Qmu)IXejjes?{|330W?-Sr5)?tJ-IO zwcF#gbN}6?;$HBd{ueO}80XuAXwts-i&|PGyg{!^olq#eMw04q zA)h@j!7478l6LDOO%X45&$74$wZN6=WQOf z^x|0^Y3NYlf!XvT*|GyBdfgkuJ4v754)16zwbPOVH7;5~RrODG;;|+@vT;<-DDe+t zN-HjWe=Z|kV|{pmLRIBS|Ik_VDYYlM&6Sa7*qX8ZvYNvri5B+fBQHpTuhj84i-<&?Ry22eeMos- zkdAh`+&tXes^@V*^_t*k(s|H=M8@MYd%o%frEahamQ+N$J=TVxf=);Mw$C4-(DMvt z2>A4%s)affVu8L6p2y=%)9)n0{u@o^NQu2Ze?$z_=TL+N-H)d3tr<;%j@$eC`u=3H zFw#wxDzAB8Z?%T(A3V&9l9sBeZ+oi~r(W@W*UwST2;Sf84cnl62c51ite@nSYo~t2J%^DDKf#ZM85hlv^73YFP2w0D8q~W2S!^owG_pDA zoGHh};&a&YQfOyxPB?EW%o!a@;8Dei5~2u0a58))`WBgkDdz4qda1MwJ9A_t2l&SNgOd8FX2)aUU<_k15+h(Dq0+seA|pk_RN^3&4t_IqUhJkaAB^lOcOoaHZ^ z=k^43#*{nv0x2)&m<>CmD4Ib`eesX16>NJ(%Tca0nZ|cg(cp)SCsd(Zv3=gX(9>u| z;QF@@ax5T`fTz{+nzI-BA>(4LZsTDocG1_<^|r^+RI;9=9Kv$mEiYb?aZju_UTM;djT__4GpL&4vmL1UC&b9$Qrd%g1%fab>>u z*013pKtyRzhvg)RzfQ(JnT>Tyec9Dn6f$9PHo)wnWZX2|9WD!$y3RqO3ctQzHV%)9 zhrSpggg{s0cIAqHw6k$RjMu=5 zmYBLIMOxePCquUqTGYy^6f&f}Kd?IM`@#mLWJvIFPfr&S2-q8;{=!yd88->B;HNYU-o7VAjTwgDIuu z(ciH~!T!#DWBIzc9N+f2q0nruvHucNHoiWj-Y=_w&W>Z#h4k#vz3qEo0r9dgo5hrA z%z3`!w7Z34C3HW+XFYm7Z|-(H=G|P$iaIJ%+SX%??sMaoT3c{gazdW@Q$bM0 zMAtYK$v;H-iAH`4bB?r6aBNz;CGnQZUZGi!Neg$aE$d8%^`>xGLhRXB5R^pJr5e-w zEWZ#v%O(BV#4I8mxC_;u#pT&dq5PHu2U&RHmwJAWLa8$OlR^NMJsNg0%H(}e__!5x z8!p!!dTLX9`!5O<7&W>fkvW2MU^)KHM?}JTpJGVG`6=aZ z-WpATb;B=xcOkY@+^2%u!X6ROTBk>)^gOS(OS@EXnAh`qbT|Q@n#=EX7kos~t{1j@ zKC;Kmqv1<_7@96rJAR^A#g<&Or6@0g4emdVYCaW{dq7MqB`7UGD-)(;MTsG2p<)u& zMW|-QO~JFHjQJL&RW!z1RYlcCTw8F4y@^|KgITA^6`?Pkw?6zKpIIiypKLdEgH^Xw zGZ*eRWwzpEym-ax2npAyYvDOtTHvA1GpOk7^I(3)0TU&s?&2iZ>B4rVivmZ@meg>k z8|AeSsGtDs--%{di}~46iXUalDXq7}vMM4ODQSnQ0Bd=A4jNZSbrxP(u2u#sb^#Y4mU+*S*tg&}|U~ zU%dNxV7*%IWE3>SE68(O%kJFu-ezq4yzFZJ-Q)GA1hc-N%k1%N@waNoJEp71Aq(L4 z3-WIfe5SFtzHycRYK^u4JiA1h_Mj;A2Is*-4k>+EoT|Wi*>ipmi&2;B(bQtd>nLea z37u!}{2#<5VJS8H^@d#!_xp}-+u)4|2su7CJL%#O8h2;xlg4guWOunA|InMg z{R@d};%jbVvKQ8ETEK6A505FMtEF{&7oeokhrfnH#b$G&TUeo`LsSnu8_o+1<;958 z(b5KdrQpb|H&tjl7NU+jjIOSlkK)cESe468yT&nyP_B}OcF1a%%)F*y4U%3nqe_pE z_1VER z6eL05=xb|J2V36@QdYcaF%cEOIGpw*Yk)iaj|F&LX05ka=tJpCWbE_grVDrONvMO} zg7iso#NnYuMLx%uwt<2Fyzq-sfspxB5;=v6o@q;K2bg;^BAPZsZ>d&E;@pau*$$O%68%F|OrRo>nx71>I6ggnyxz`irv3G6CX@B$?=(dR0D9XY z9Mu$ktT9T$hOZ2YVQte9%f!o%wjdW<+t_%w$4mX?W>;U4GWjgiG&nmoH9U{T>S_u0 z5FT?$7h`sb@v8$J8tBO=d1=Rry^ggMTW`>Q0bA|HCTY8M>`*Y(*GG9=?hU}jumCI0>FMzz3@;cstFmY*m4>9w|n3xzpTlr8^!LlEJsO<6j*cnAo2c5(12vb5y7jeDa2}_@OWm+oED*`f8qtVY{ zTiL1jo=Nx;vWkqw8hBAh{J^_Y>3V}oC=Kx}KnD>s^M0Ef;w;wV8I#v?1+$vEjLbxZ za_+^&#Yb>-A}Xj7ZXcPGp*JcWe0ai~1iP@>YCE6JX&Y9Bir~RTU;~burS!9tFa`=I zadu~(+Di`oN<_nEIYK^xrVc*F9=4|-Kizbp823XOX_OQR$BO_O0a`<2w3zNW8M}h+ z`ESr>xAWg5xa|R~vt%yl$kK!GToH;WJgMj8VKy3oN?2rnR6*Kqi8b*Zeaw;$yCD_( zB1B{#sNfJ88JTJ14v+P8H%Y3ioe2UmenyPRRaz^#L`zK0@qDdu_1llmmxq98%i~Q>I7P;nb`ifjV5rcbwSX_jA5!` zsgmf@Z352Tjx-Y+^;=I!=Y^LloY4ae^-a_RU*WvOhPCXur^Kj31T+!>RCl7eDI%^T zUlO;4Wjr?bXz(ZoR;7hc8OCxGx=YqqZKT+(x}dBL5*8I36;Q_}Uq4UBZ*C`U1 zm5fZtm#x1!nSftva3@LtBSTcxH|(m9pEA3AOBE3=D|2rRVc>nUf%2*z3xV)nl*xrksV2HNZB0>i?y% zWp+h!KCLIS;p7WC_N66`nt)VjZ%JJZNc!Np)5>9Qc@hKp+s*u5Lc28E_xn`U~pqd;`@+ z*XnTTGnCRHhal5gMMXo7fvX^!&B|E&`t|o1lO`So3IeoP1ih~=7K$Oy@(Kg*Nw~VT zYfqj$(}@#TivGS@r%8B$+{(w_{eL1s@16@8;z^)Ez*$`hCJr%mWMc=WOH>ENk)qct zm(fRgIHX_#*ip$mR1PEaa`fVs{KlDTcokpEDSv*ZZ?HEvr zEcEs9`1n|pgrXs@QxrJ5hP*%c0_NGHny_>qzR*xmx$AqVkGlecU=d|5Fuy#EgdB1H zI*w~<(a=g7c)NHsooecL+|Jn0mquEr_GgOX(=O?|4Fb6bLQ-?!MpY zZgF_@PVl8O=Rfa%OXZ65A`kJ8W(2X5fVt89%?ewB8%*?-q+e?SYnGrt2T4r2>~tlw zBIkf&X!69^Q3m}KNs>7#uuGV<JIEz>I5;?A7lRh#2*I;3WsD&qZ+>IeZNQv33oAp0Soso1E7!9h zjpur_V>}sTvO-wN=UvzGhlU;U2=pf~J{RZW!c_J!lWXM9@*HH`4b&uIh#FVb>(n;X z`DQgEYrrZA!+J}~nn^h!sKLa%dd5aHo;Dmp-l(H?ib+-G;}7rjfK=oqUH4P7Y2Gx)O@wQTrVu*^L~G{o6vr{r?^J!JOxgllSRvxhw= z*Xl*<4F5>}7f_6Hs z8UTfauPtD`;4xl7%~))jiJ94Xw})C9RvYgunBOrn^)ovcyC^#+CkJCn4JqM@g56O3 ztLTl8$4Rf>Vbr;E?`vTc6$D!2X!E%WUhl{|7~|SjoJt*3#5c}smlo1OotMg6@w{B0 z7FUCNm-3MJyZr8&_9 z{z!2cf}1{t97QzNw|xOn%W!bV7ctgZ+8ZZj&KI0tJozE*fC*x{&Ra~N)-Ow`4&WB9v z!83H?hD#EIBhw~78$lKQP8eHSxmwzx-Xe0?GD=Q(v>(jbv zC6p#)b+CU}B)w~+Nk4&mg>4xMiBJ~Pq$LLhT!)=lyZ`&``pWHCG_ZS0#ZR z+w67tbGP#ofTaq?#SNjAer*@wZHozdlh>%GdOr$>lw(%Mory808neaP|8&?wREI;q z+%OwG-MQH|^^cU>wgBf;wie5RD7HIW!lhVj&Lb1D;gqO#07;iYjFP>!Iuo`5NB-F5 zOhqMWKWj?uluNZo$z$8eJ+jlZ7S#jtVwa?}aNSrtY6+BCT#r77of5&kjrt0}2;pN0 z+T}Zr%dO3%K&rCq#;naa0uFyTgK4hADLWkV+R@5FGF~NC_X{@9?^d!vjh`}@gXFhL zCduw~lP8J!Wp~snbMmt;6p7aB-<>xk4&2EL?4qL&wt5-|jJm9sCv@r!09=10zd!*P zsnw!cMnW`G|zG2JX+mlEy;_xpM zOT{0kE`|@>3z9eIo#ka^QWi&Ak{DKdY!ckZ?d)j;WVZTM73+9!3FpZfk#n^9{Pri1 zoUI%lv?_UgmyxI6`k!+BJ<{QMNYZ*TV2$WREO9Pv02q=mYfvI=ri;wBrF zs*NivMu&QJ zPt3gB(M|o21=uKH#Ts{ig(yRPBh$P5rz^Y~l0ya4RP;UhC~TV;%kgWq8@DK~m7P&^ zAJrPZ)7_JW^_@%1`{^yPvF{!s#+7Ugm59x5e=i8s#Uti%+JMH*d)c%tWHRZ?qKg0~ z=jXqTM%9Oe{4$@b{J8!W!pOu##P5D&U#S{+Df;ci#@f_p*GpetpN!=@KIaL@9Q}J4 z{HLv^=K3(lTUq&kG@S)k9Ba3PaT(k-c!E0w*Wm8%?(XjH5H!Hx?oMzC5Ind`a0~8o z``op@KfoHMyXW1z>Zxi=2}*L@Rvt=9M)XVN5C6s)C{b$(3AhK~LWs=TYO}lYQ#r zHNBY|jBWoMM+-nH0*7Z!9_O25PT$khe@zjowKL>?FR)qXfwD9=KU;0^{uNijt-j#IH(?57>3Jc+ynaN_c7@*#`170(C2H^n!8Tg`8Zgwd- z8FdbNUoQA=J8^A<0$z^_2I0a)le@b3^YdYt#wREJ-tIIxCei*{-k$}EJkeGJY(!Ot zctiXmFVFbbbwf&KYlEQ-F$$#SQYL62k7mc2UM7JrQn;phx+22RG>-u}~-Z^d*j;_A!Kt+#`-ChAkIv8gGIWK;;Zf16Kl4_n4NW$GyS@|6x@ zMojoX7XLE&12VJ7$9-4une(&M0H|h!$&zVRhHrjY=`qIW@8RHBp{6_ zLgA}lzJ}L*+ zXT<7fVbr8ZM3$}l9O#^cJYCwv^%iy{dzGGcEFmv5z9+H2t#7|Jri5WFG12$ObkvQE*>!3q3jr&e$;$ab9)u>DgkofanDx9rqRQAc*(p{9?ZeFjgK7l8ukHV>p3$?Lk(W%Erpq`Dp5VrvXH{ z%?K#R&ZlWjy(d0&CK{5cYv{(eqylKc$8CYe0f|I7BNDCh9`S7$J+)^UpJ6p3*=0&s zy|`RdeN9zO?L5p;Q5m{l?)x~A$+)9aj8Sv}u&ILxv;+h`?Ndrh3I;uuJ5tR|l_QNV zjdQOAR0v5;f4oAoD|Z_T3kv}^i%Gk2FTHmY`S;DHKA(sz|J!Xe!&Lmw21GAdBEt1Q z{c_aOF5iERh-1s*!K{lRK4(f1;p;@rv8!~XWTh*lYh-0YsntFy85rOabW3DD?*>Q2 zlPgMCps(W24OY7-;T=D)C`56hfF?%eirPyqz=ZsWn3i_cWhG^F&eiWMe~e)MxJ-!1 zzGZ5wsS`_G1f|Gwl_onmT-P{_C?MK=4j@oOJ~|13TZ>hMZ;DE3GP!kG~SnLBPxENyw5(7=(= zWnYabbO_Pjr8^AAM9ZR6u|}n`4T7R{%3=eKlGMCYZ$~~IZmjqKRVH^*rznFi)d0Ss zb>vr?mX#~76h3~vZZBpmL_#}5{vFdeFEETV-VI;dBV z)+(7HpbJiQom(qJI29r`-9>iT`J<=!*M^D*=Z|-Q^)-SebUZuOmtyN|X7*H>6fNo$ zYCH#PKi}+WJq_cXQV5X-xDD9t(o988Z#;-e>ARKv!fa>uYS1*P$faey zsu#xBxMv7S4yG~N4Oy>SqmEG`D&w_STfbsMxXI z%8-#0e4pvsWT!PSBL0ePC`wLi>anVlYby{GHycY)$mK=(#EY*?WGOB_TsXXiO!T$d z8pA9mQtj-vIb@H!$jHK9H>s&sW;wRCrtW*%cQs5 z=4eP`0U*AV5^+Jt_iK*5@+fe?1P)KgG9#jI?=^LJGdio%xmltbN&YQ@LrvK@%oY|c z)nu^)w^>`^dW%&H2=AubQX=6pIq1%J0+S^u26DJoufb;^3=#0JH-W5mxpI;4?MkQn z3n0@i6?}`_87$Cs7WW=*G)Dr~J2cSPx+7i!zXLadmXvrbZeX|Xh{9vB|4RbIWkkGg zLDH3}8dWPe=thynqGS<$t$&XRBEgPI4v$ZgaEC$ZRkAs_`RuMR?Illnnj19tYXA zKRg;RG$jxUhP37q%W-*L-~qwMzaxpz&X5j5FK!B3J#RbbDW47djvzP!fSo3n*Bz4L z^>zadBJ~NjBYnB@lb{;ZSvaTV3>dP{(#GaQ@WoCcU$EPV!`LTi14tPz*66~A!KYRK z8EvLts)pO)1Xm~#qB9B=s$%TB1WSk|?9ft4wN@6hh+4uVAsg zB0MHyx2{nOPhW*B5-`^z?K{={P|LZhq~b0dqj((eba!{u(4* zD5Q;6cf1)yp8c^yB32izn}f+LBb2BR4Zu%;)LHEfH0)E6BOmc{(CT#_j=|}x05hTU z$jHiMFg&5cIUYLX8ecwRyBU21o6~Dzh|}Q0CTtX#@=asa1f;`w!AY<^jKi|r8i`@! z;E49xt+x}HDS2^P&44{>Vj*;t4pGm9+Wi(zfaT8Iym)}#NDTN#B3Kbpc#Uw9ppiQO zxI8EwNU8r@Za59YQdsUZmvnY!ozNDPr?0Bksy7NYTri3-8L22L9ZHFr!#$=jHW9>N z_*3`ECq9GhvfB)nhfCV^dmIxY=t}^DmzI{UnhC2umYMP*NZ*n*j3WmTE1Kh%{I95s z9qN-*YcBH~J?sGcMWUi-l2nDi&7-brI+KkLZxp_0EcUReYw{zNneogMK)+aJOKi9p zh!fcuFP0!C5l)_CkPzTzFU^hB!o&HLeMCa4EV0VSlMSWIm5#FGD>E%iF!h--BmZ2_ zfmZ4JEtaFyBGUl)gN9K6o|FutvHPK%j*xeE`~qLrdVi$fNlO(ftAlaXg3vdV=GXIv zaDWoQZzVbjXRg4KXK2H~H%_?_0JV93O;t?PP|wK7`1@#C=oA*UF@!TviqN(RGVb~} zY&>J;9v(x5IPMfe-YT9EB?AT`OLZnc_gkJkB>JI5rf@3U3R|GbXfcIB19UP8CL?I z=kCh#eCRY3mzb?d|p8rV|T z)OViZITR}#a_os#f&X_J(K-uGHSarw_9F3njGir$%=f)mY1<4~(zeX!F}kdOdwEdE z6+{6u($n)fJr-i~BG4V?{85#q9XT=sgE7|2jp8E~ByxE}CQLuMy%b<5uU zd_O)h7I2#T@zpk6$ZE9SsvJ%UKICN(O$a24zw#-5-uPPty-XvhV90!^p%2!lb2%=wdh8*_Q88?!yn~U)rjra)2PC-_P88Ust`}1+eQ-g?ot9 zxm}hY@3gA_V9DP{b^pEZpapV2bg>64ckTD|3OGIOXIN*;!u?MRNF?FBZ=lY*SShn~ zaCl$)@IM5INr$Yh-BiT`{>Sampd@ia|C?3YI)RTfAz=moo0^q>UF--kZ*EiT%m@C6 zjlK#F2iwL$^!qP3^dejk$f4KlJ`>zWEqDgcmK>sA7yNEE+5p5v*T%+ZQOJ<@X%EZy z{C_G-0u)5?dp@5x46uv31V*))_gmlRGK%%=o1idXWW%l+RmbiG?2`yq9J zYn+}^*?m2|B>1$)?$zk_^oM}mqHjr2=w*G9YXgBx#%D5@Oi9 zrDZpZ)2NcTs(a%v@mA65591qXG(k4IN28$u^23(6*@7b-O&bOVby}8C2$743&w>m;sawqXUizW?tguD$_w_TF&`0L>U z=0~buN~7e}n@c+EORhf@qvRRrXHgRwQyyYVRCbYeGpH$*#bdkFaFudnW~yrxN6DMZ z{yQ{G_D@MpV+xLN@vnqMtF77wiHZpWMC%F+J8F749hNBCH0{5Os4^@c4?{K()eHJj zYVK`$<2UY1=Ab&G$1v9$UAM~FIh@a4>(Ym$8<#uuA6|=P85n~gM(*k|Aj^MQy|rm! zwx=HP_Nfz%seSK6d@F$H>GoSdv1&^)D!W>KbXyXqM`%so_(8oDN0;>+8eX2K!|6ae zz(W#FH~{gDz~!v4dClP>cyWo}QCa!lM)RZa5Ya!E7VAkgpleE`P^F0Y%&890t=H|E zzq4-J$z+Xvd$)a7#?(A#2v5>uFXO%%C96|5199A&bbn8R_q<7alH>dyU@8cc-e9vp z7}hKaK*|5*MY=7iQFMrb0ny(=V(LJCEyy((d;_Q?hEDykZ!ahi&h@pm3D4UEng-r? z+J||nx&|ci$*wMho)=lvF~zMAktP?y@lwfBd%!gPZ_~8T@Z(u?=1q7AIr0=NoOBHk z^5H-K_1JE%GfO0XsS;jmJs%w%U2QbirNWez9mnT!xg7`xhF29RQQe%c_7Jl0Xe0r< z(PjU!LO@ZdLY|$^7?(L$hS!1O-#zFEk0UW9S@8JD$$*j#*>-3GpI`YNz_r6B+s+o& zF?U^>Eb@V$0)gSkkm(gltJef0nwDm!-sMb6F1$0pKNX+FZ_;x_U-kKp6u*+@vqGYL z{g2GO0*Z=QM(NlbcI#zjldQ$3wO_22Kza{qKgdTG=hFe@?}U!ZccU7Q5oXn`jF-e8A0%{q5A(})soZ4 z%Bor*V)yf=b`22nmuhtJcvmp;#{ll!cD8FDOHuHBURANb3Md(piTv&J#jK|CE3dSA z-x1vPfBD#QVY1}IeM`VIx=&O6BD!Wdk*T4lC*wDbzS`nC4NvOlb;sEo-Venn01zKN zdiCwi&B(XQ0|TOiV21@Q&LeA9V4Z+KhAvoKfP}l9%xNnHe(F~mVQb$4&VexIDNG4Z(Az61tJGQ>HI)#1l>UueK=arodYbI&8x zG8B>EObsxocYB^7LtNK8e{&XHXjus)Eg42PQVa*@laOHISJK zY5av9$2@auF`4bY&#Bp04+zMk0Ab_@`B9B$*nZJT)bsYf7G3rOB83=z8i+}80H(r! zF+(IKeo~nrYDK{(GaGbB&WLZyB-IpILuHAkm4(aYx|jQ}>{CDZt^XA3I&{E#+2wpa zw>hPNhDXT-PzCc0eYmq`U{qAP0xrPZTqw}lM8H}pWOV&U78nUms>&2{HI!!f`S{uj z3!!F?Z(z3p9LL<;TsED7{Ke`h{RT*k{_8aq1RO;v{iAR^gCJcczQi5t+EEuzH5fO7 zJuz5UE^s^Ssz44st~OibSiVGvJJ-O?G3$|=q?*kYcezAM!yc{g5*}Rq+0aX0H6Rq86R`R7<9+_55cE zo(GIU0evU#Wt-g=v#+Fej1C;^^D(dG_mo)%di0rZw1UL_Zmz`orsjt>GeMKF zdn2`bT3dOUnNM5S94uHZCJCqo)5Sc8ILx0x~!RPR49400QB#=MbK5t3; zO`)THb?<6v;a*aJb}25o(ZFIJ@x3~LSkl(KENn7eU594h3xjHqIbA`%V#T&?ng7m>+M(It_mBwv*o{=-Y=oRlC;IS zk2`a9B6_gNB9`Ez1c~N)ICTzu$K&a+GiLaCtp%QIw$0{>{!r{L- z_@VcLHHGOIo`u#p;ky73r@Jo=neLa!7_f4lE_V9^k8SD|$@3WIDZ-Jq)jKdc|M>oW zSV1;&3icjJ4e~6C8z&=eK#bjG&uRug3lXl$3#c%Q#bfTdnc^eJ^Bx7o+}QQ00EgrR z8jaY<6DiB!Fp`ChfvO6@eCWJtW_X7KE4mJ%Gl=UeQM@AZ;jJqSZuP3AOSb1At#hj%B#Ild~9BN1;gSrsoGNx|LDsljQ}Gv zZb{BY;d~jTL2U8flg5An+qF$<$ZwiEc?%)wXYEhSsX~vBc+Ng50<;*qx7;F3#%n~r zRJV#*{Nig~6XMzNLx=LDu%oNpeKwG#+h|tViFW@4oi2@ljFk7G!G9Uki`9-YAk)gV z?gTBj+4g#O;Csyw5SaZMOsH0^!_tfEV(0 zv?4daQ~NJ=6U?#X_ZSF9FeuM`Q5)u~x*W!++mGA!#CAtn!l*Bi=GFvI)CA8}C3!2Ib0W%*T>WnLDKE8%?M zX{LBG&f4k23vdg61Gf>qyD_>EG%zgRluL+`D!uhbWnCejmY^)QjDW0xKABIRAanzd z6?1iUPGAA+*iX*^nr+Oi*o>}6lTDQ3g-weY& zc2?^Dq)>_kun(`_v}Jy`S3kkRtqvP8NY4yV=sfdyJ3yPj>tE83$D8~*A~v%qlIYH0 z>;}3PimTL!1Wx51$V*<}?#fGtWt5+0q1=W>`{D7=pKHTyF7D+5*26e~!DF!vf+e;O z9`EJ;-1q(IaED$vyZsUIWO8RPvP?05v(ddtRZ)Pzt1-k*h}NuzQB57d+Ou*pTsOTB zlcm@zfzrw+;7By^8}k-!^MMwvyv#))aRsqavT%HFhTtb7$HxY^;z(~ZfK-Ic4;*Pd ze~{0g?F|fU4=)9_et3lAA5GMdRkXB%ARkJIn|^rGWVQ;Z8q~INodJvkoU0?txnfZ0{pA^+oC&>ejvcmZy+L^W+H)omqt2kl`9MHF0b4~mXpTSy z>e%;z7&+Vq7^r#zKXj6oZBA`aNqC(A_|>4>Cpgm=$Rz=1!AHPlKm3;0UrsTVH}Q>-OkSe&V@ys7M?qB_X}t z>?>f*zx8hYn6$gc!NGaCzhLImApwa4mOnxYXz#yr!Kl^=L46>Oq_6+BY?>I1{{Y-Q z8$b?z=;!HWEugubNQ<$X*0P@p=zP~FgTt; zY#g`_aXPXvTq$f(++RuJacbr2FaH940rmy5VD;LJA0Mk_wjnaSWmT^`?FlV63H<<7 z3dQKfE~sMEvl&}0v53s?+i9!)CY#S*JvL*z*YSXo{Q07MP9ia|%a(tRRi2uP+qdOo z-2j3!L#l}%p)!SX(t{jBc66Mr5}drxWFJ92{=mj8;yGQ}S9}*G=yB@|NCBk!@o>@` zc(KP+Y{hqy%UW{1XDM3@I?V`7U_MduQ84C%9_9c8a#Ns(#6|77FGoJAPL&%WydvtI zL;-b-YT1Gr!)>%LdNJB|gArbRVUU#*47=Lm&}4a7d#i?-y~e*sY+?6pAzmvseG=F#508~Zf!+mh;nL#b z!0=S=PtL$3@q?dbjRUCTiIbG}c?G1P*7i(o*yv?qxp)HJ zXry3e4&39ly6L}(LddQH(O0%el4kN?)g=Y6%XBUmd=xwp;cLGu89z#vGgdH_aQqKe zQ;9>Sa|m`aJz;Y2hj6#`aX?5F9Ku|y{EUx@Q%>S(Up*WZlVeg()Uhxoc!61~9=vOn zRSDLj;&;0w!zF=>z-h+D7R_{~qZ^NvO@Ls7Mkidor!=100hyF&$i+7Sh=S?2=`L#5vNFO4)X(b}Uk@Sw$qC zN{ap>6n2WS(kh4O6y(w7SD2~E>AU;J{PSQU-{Fy%lF?`z@Eprcz?s2?q43G%f z17E~#))FXnU9rbP^H)H6jXhHyjmI46%<7p9bZONU>uyGDl!G}O$=>``FW4v&>!5$1 zaFsz9QNCk4yFkOlS|j0V9ywY6yU=|P%z8qhOnc?arsr1n{{Cm?mmaLfR2Ltmfe0zyp+$VP zNiBF4?b-ELKPZe+5_NduWIkx=L5FHM=G3cDk$iOB>$@@on(|DYp=pPn-(zxQt5A1M zhc`sTdid*44}o6u@q_1QoyQC;PsL^6B>#MJg^w*#f-wXHsPZ9S*KhqrUb#oS)p=5|0Fcq4t^A&o#LbTRq>&T_A#r^9^sV9avVU&NyUztd>{evw-T zYNdfD6Wz7Ch7Z^2Gq1gdn#cs=^DTa*_OMj!lIDY;vHIHGEuaHADBZ{cdIZiPK68o4 zo8+PxqS6?n<6+a6x%*aSYoroJCj!}~$8wr}EpPSxt}f7j|D?n*;3h|8MQWdYRMTHf zh9*Kk94>uC#a~qI$L%kac~_%es#nUUiN6-B>rbPO z=RZw+uluNKi~Gd>USXfOWA!VTOM8B0w&y<$_2nLNzi$@-`R4KJFP~=*M3vw8HsrwP zQnPZF(tQNC%Zp)I+;y)x6rhdx#};-81}XE zWE1pXc>w?bcfHK|5$&wT5Runh{b4r z5hN?_=OoH@R|)ETan=Yw3Ep#F5Y4NOlw!b`w7xw_!}T5zYr+H96y{0DZAHEe>F_tC zb&`iS;VdBp6LiOaj*jXKi{7ECm+|d=T&EY5Ei!Mx>euRSjOgPX1Iv6;B&pPX&Z`(u z$EXssYiS#Q?yN{{tSJno+Wpl!O!-;!?)W>2SL$^1-zB1+oA`fzhkW7L5i}hWX`vS* zB>uZqh8?(%g#6>MipvRZ_t0<@YnAE zN4L;-V4Ra)I-lhcaB46g%V}xxfqXXv6f(u{o34;zNfvaDpvJM zU?)KUTO^e;ijB22aa~TY#+l9^3ZbV(>kw9*dZYI^f;pkLEP4?J-@~8p1yxO0>4!i# zd^{Sy4my9#{PIC1=$&bEz20pZ*prBkrNcHTe>jvCa=>lydH`AK0SP`rf zN9Ty*O8o9i+eu!+GAzp5;SkE2M_av!ZUfZ$ey<_1OCnqujE2wQ%zisBTfNpm|B3xb z;s9|S?cS+dUkTu!0bARj)7qb?yzdQ({u~E+fd{7oCX%EQVh-ftGZmsDFxU~0`aQ4J z^mVUPQfj16qmh>>rmCugoJ)GpZ$4WuTPUf7n?b)J=~(@IPjx>?E}?TzmK^&w9vr-$ zt(^}+?YI-|q6HVaThF+AJdWp;4_$`>A~WtLLD?H6UM+Ld!;yJm1#S%r~@t8be^QBQu-M;vwO$f^t&CT*T@qv{e^7g-**x`J_fD6xU9ttiH#3v z4kJR3{b z{wiyAgogTgw2K5O+s9+vF7ml&H-_E_HQ=_0G(5u?oFF_*;AYQ=KHY4c3b;cB>{FRd zW@8~juRBv{uYY|3Uc>eM$u=BL>o2rFD0VAJ);;_iIrw~9@6I~&k@T?-eoDX+7VhFy zmF-}t%)>wUb}8`92j7+~Z+|>PG3P7n5ivT#Mi@yvpbP>E(&Yo7-+HaBZQgSQ-f*$( zvV04c+Gf7pt*jD6$^1BRH^kVP5-CqgM%-sCSTB~w0#?&-5kBL6pFtv~kAAcscy9Q- z#r5^LuVF4jio3<5R_0V$iFpWLY7-o|FD`x;Q&!VWSyVR?Xm7FJsf+bHg~)B{PCb;{xW&TB#{7t9A@jxOS zd=^mCH%vjW{e9dwQ~A1>BIVZ`SnTZuEx>Qpx{MJRu(7d&XU_th(HNA0{6o)nNUV`| zVj~-|1@=bA^TJ!`c~+6B(<*n_ezM&X z?y`@L&-{0Bi|w?4OZ((A=p5+Wx$Tk9c{tzby?Axa%7l38_I=oVB^3%cC(@X!t!3IT zVjif{7%*~M&s6Sx-mf8Z4I(6Hn5Zd%kS{2H-WP?Ho&T?u?WicRR<{lHe6;}~6%H)| zezww;vjt7)cJyL{8CoHwV8L7z{-;5}h%4XwY47{#^*D0|(=p})e=@Uhnec;dquK24 zaO~`4A8^9=8V|y0!9irAcV9}d@`P6-!O+g=f;Z+Aa_-CGhtt-*4uCfVM0?m@W>(l0EDv&VjA!@hr`;c~qvTrV!wYRD580em zB939s@UTV1*r!A`KvF@rJ(_Hw=P>9~#vQ_!P6qNe4@_Uh?}zS&SV{xsvx7bNcc)^+ z_b!?h6S#~9ES{ToLL(v`kp^z=p0DS+n=tF!k5`m<`fjtpGYrooLhSvQ$gr*&CfsxX z2>PGzbk5eJ#UqT0i_+N@f6lcccdnD-xX8mL#<%x7!(Jw6OHcntO41;Mz9Gm~=)#?x zO)6sRkaQ@2K%xeM5+95RVqQKoM8O^Xa{M15E%;1zKvgfx@5@U75xDFo^~&6d-1wgs zAjGsx0r%-4(B%d#6ilTZ?9^T4Kkx(pDLf(_XL3B%TygWf3Ef5XZUj*nmh~+~mWd}| zukR20bY|eMiKshd(pi^5lr1O>*ZFee!@QrrZ(!~Wy!S`Yh`Gt4NzoU0ysw8G{m;jP zN_GzOT`ww|Kq%oCc?wGPAHe^yvbiY;?EQM1rx(_NgG7e#TA+bE<3ae35ye0luM1j_ z*A3mRuz!%gm!(?Rzi))z|Gsn}AER>HSylhMA2%ETuWdaqatSj;;MR2<#Ih-wQ8S>E z@sbLx!eKJfXs$|tGsG-^OUn~+*ozoZ==T!V2*n=VxA; zb$9& zTJ6O>By^782eT%mMUvppPTs?btT$lT#wlu+z4d^!d_PtUWJrt});L3aq}Wy96<@0$ z3;KRAA@H`g^(3KL=9KVTynX4ut@q77CEv^NW!0Sw1M~PbEg{a=f)$!;W`CaQxqMNv2M(jn12;J~!xzQLj)kfi#1cRawniexiAf z%z}omUNTs@dXG_#dNtEjx94X8C$@9KIzS*9VxIuP;@5E*8mXY)R*(Os1#m{83EZN; z!jQ|raSK2&CIAJC0Bc0X(C^!KGL_3W&HWd-(nuJ?3*DHJ0D73H(%#w{C>B6fdJIJq z1bixlQ9vGH%51&FVJlJuha=&3UH_&}g0!+bsMby=T>^L|&^F}8J79)K?*3P2QtbGZ zR0re!hsr?MDv9?V2ASHnFW?OZs{nQ+)#xUW0A%S~UtI-#|3)$j+}nG!s-;G6mw26D zt^ZIZ32Z}xWF$8HfnqtR2_+sZE<+E2t0AmDpVD<1nN&Nt1I4Mp9dbD*i^ zcX>Yl)xv1oLafskQm9T*j~R{$6Z^S|5N9wNP$k5nKb(M z;L)DD$$#rE`u6s|458_nKl9IXk#`)Sf&u`v5!n1Rd6 zrVONRdIuIxT7vzk8PtpefNj;wbTX$PA&+xyJ9k}b*%omMJG%;?!nG)*y=l^f5 z;bsCB33p*p`d3(4lvw7sTmr%9)NnsL=xDT{&eqmeW`mo3z-WNXhZP}E7cpxOQfGRI zFRw)uH}En4!0YvzO!zdNNWku}^Lm@RF?thtSw#AcZl25UjFJ>?(>PZWn*ZbdpV0G# zXYUIjvqS~W3eu-{{&%(iYu{6P%IJMHZ>FEwG3*E{!yT#sX7S_EWJ<&5KMNly{oV~5 zbclHDIkI1m<6%EJ(*!7Eqa#LG|pl)f(vYv_E`wq{N>Kk%&SBLRYTvuz+fqk z{QC>nB8znj6Bqr!i6exjV1hDrpBazzI8I8h|IZir5Q~DZiF@ZSEYEi?YvZ1KW2$(!HA3cY7Norl?4T$LU=vc5N&#T#;&mze^DCJC{QcE`$Wyl6le^tPL z^;Ntbeq}bKn?WEpc9xcY8RLP*#|zi(plfMG{lyBRJTc?`S*E`1`#>8!Q}Gk5Pz%8x z#6^Zv06qS*;%EZeoG&z$pP}W+PfH_$8G%?h{9kB2Loo6wj;M@x{sPB*jCr#j9FFag z5+_Kmn$kef(2+N@Mc$x$IVr27lCMNqNZt!iji@2E<_}bcNNvfin5?T%a3mP!ZOXZ> zw1*rNzAvi3Syxwqb@N{Em;OdhI3 zq4=p-Hhm%#95;K8kLKc?SC?F^g-;?LeaichOFO7REDW2SVaD9%FK#7cya_dJ(l}}# z6@Y@m{kz3Gvx$Vw%%ExsufuSi?52->iY>TAr>lp2a$7qJR5pakqbU?E-Cxz7XgbEY zNPXH(f9q=UqC*auy3!jcWCk~BKiK`ybKzchdU3LPH-Hq2$GG~o8;f#xS0s_ZZ~uG? zs4<^zo1INZd|dtrbo=vd%XGFW!Tr&b8NMW`hXIjvty8#DD-q_vqr#LNm2CVpt{hNA z=PZZ_g+~oC>NLADX>Jzsx+KGfQ9nrxeEkb>i!qImeo)a!K>b3ua1k_wum%h)GKT;@ z#=ewxp{bKBQXibRMxDXN@(hH4kMj}}1T-&Od58DVyh~BLr{J1bLd$}2HIT9#IkOH*+e=6w*Wt&xYRk{sTJj+Aj8F+$ zR10X@FVDyecb&i@gE2n<37uVX(|1zp>Atcn_~p|WStEtZ`w!lqN;3uU1y)=kHAI?8 zdIaiUI6NfgrLcDu84oej!;W~yh9DD%X4{gYilkO(`x|Sz>7Cub=>uve94OGb6(mC^ z*Nodc*@*y;fB}l3HcI+P6;~)s5emHmD z_V$5F9&4XiM3ak{+J(xM{_t8`0m{eu^m7I^In#Ga4G(-lu?IM6yumB>>cW%!~;00PnGw1vCZ15rr8Tzg3{A zmn<rJnS?kCA^(~fc7Y--IW)iIR>T# z=fx9pg3R=rPC*1u>K^1* zLSLl!vNyD5#ocMaJ6q&!$1C$iJ^Ixyue;eA*LjE6;UhRS&Ua8UJ}f-pX|ta)GCW;f zRaG-J@%QI1%%3CX2Nm(p`09lWRq+K)iZON@L?Jzd69)EdkqMduxB7oY1h5Fi;qfv3 zof^x76U4|VZqg+Aj_A4r>ILeEp{1_Fv;73&)li%Uh|0@4I>Oz8ziISXnDe#U_ziXeJ=?fh? zSYf!^lnmY(rJbwR`)t3B`U1)Z(P4e%j%ye51}?gH6oRkV5@igy%SWRPt-k`^a^Sf# zfZrNS?0Z)e(XDqDTF&tc?=V-yhsMnN7Dt-j#1!4mTjc}}wBF3b$Q6Jkew^2zW;+;CD zAK+$g#y6ln5?0YCmR{U$;74PiXk#2V(`T`3&3_2>_crJVUK z<3sL9uTP&FR6_6H(M1I&G~b}@TB8ovUnk!HRVm! z6ca-!)^z-z3`c)(7%7>?8PSMsTUI=24$;3{4>YYi9GVZdT{I=ifLE@uMhNX)R>BQ>3X{p?s3{v{wzt24Mu=^$u0|>A1A&Qx1kLvVlh;o0lw~ZRxP9H_Sgrv&n+C zHziY{N3y)GM}MJ{kqwVRXWb8-4cCE@#yg6*ifv^GymVBzH=x@oliw0GbscCW0j6cJ zDuh-@zV`uvmHAl8XRjhiW0ujfPm&Pzq2S^-U~kiJwweWcwTC`&z^FX#BZk3Os}Q)e z&yWP(i*>Jns_}Tx{0^ITHnh4FH@Gs%0ZUE62^YHrp?WMqiCdyco zjG7-D5KGeu@SWT8wzl-c==GQle0JVU@s5ndW7 zW$s}8@PNN2=5|BRR?>{4a2#=+Cbh-WCB&jmu(z`_TW!%q7Lq=|n=lxK0&{-l=;O;| z7hZ(uWa&$u^ina~wU}-pCKhz5CKiK+<6N3w@G*c;wOVp;J_QGUL_}jzODKyvfG5IT zTeK6)`~cVM?uPT|QEjLMRa7Bm!JI&;y{5Yxi{#QEG8Wf)WP5qm1wZOk`-yl;E*mT0 z{`MB)5VLge4)#cAa~u$RvB|@@Od|EX`R0Ek9DgSmdt7tlz*o{R zeZSFheMSKlaG-1I(*Af{6GmK?6Ov!ZQ$`KeX7_hqqSB-+5u!)097n32u*h@ummsv1 z!cd~C0-3%1o}~51Lu5W55G@UpGHon#DN2SqFzE*P?=c$sbQyYKfw|I~=jMp=q_X>E zr>c~(9HaKd?1DNSbXjS*(x@{NUNUt)8;&bMkd{U0w+IiVHRI%Uz^ngem2S|RA{vEE zARS`+#$zDp8%j|^+HL;Frle_IqxN$$luAgdrC()Ne{vp&{g5(NF!{^+Akr(%?skZN zNxjLE;$wZ(hskt1gR()T-^2k?CCMkMip2V`Qf&ucta#5--wM$$d)+kp;0(3s{6_^D zofK0|Wkxxsg@kog?UL#*5iG$}9SepP)rC!T;_BX6=-qDV0=+}BBJxvMsOjUus~~;? zK{b1spIp-I=A^<-CDWU%j0(IB^;E!jobu)DGrfv@yB6XPO?pROe$Tl+5v2 zn%wt)zsfD718+=N-Po}Ag6e_qP+tC%Ap@v^KUj>RqJ9EzW1zJ%_qv5&!DTi;{_`a& z7N}znzOw?}WhR@!gyYH0X&Lp8{xeq0ZWKzUgA$sRp&QovId(HD;qkw~58qNwgCJv| z>LlWOR^)#bNnBix8=W`-qGbuhJWxTw6!1`VbJzSAl$3PBgD}PqD(|t@AvNeUHZ;s%7YpO=&7M*i@)3%>KDtVn8pRi&!Q`Qw)~bVI6Or zbsIognr%P<{dk}jUWIS*)-T_^grYTDxoS}pAW9NjhluJm7kdQv4NAzlydS!zx*Bl@ zl1WEbw|XANd}z(%TQitwsuf+0;pf|zf6qb%$;^5mSxqy%)k}+Am4s^0C9@^o0(9vE z^HOb2uDo_@EVUTaok;fX9v%k*zRn3bX?frOy?pOIaJ{)BzV>@ts$`d4Xv&Ha$Yz0I zlBWYBd4}$p&<&#P(}VsNPbfsNY>}}-hI+aT29JhZG352r?(9Z@t)Kdm)C_ndXckP) z5u28pF2mP=M+>X>@o5>hYMK33GPzZ}vPzDpJgEhbI!7`l_!kFZ5un2k0i7*H5)fI= zLneQ$?2o*s-O+WV-Es8w!B@R#TOH21Tuhv25J@M{_aKT|Yj_ZTqo`I|lY-DYy?uOP z=pRE;Zr+WnM$`=kbI=PC-rScSlmZJl(^o)VI@+fR)gfArq&}z6#gOS6wrJhv2(B|1 zqpzx(!hyTQt~nQ~a)coMtz4VCP*ivu7(Q7Y*MbQdh`Qn@sdv2Dtsde`!DxMT>E{;p zU9xG**_KgYpUXcsL3MaJq~1R$Rr9+EVyyh&XioCa8Utn?lk!UL-+E1NK8WFn|-im7Qf|3 znrC&(c!Ecu4+KYkY{tAaLbXUG94I2DXTo*;hCU`>%iA6VE!}Y4fb}0i?DSb6HE$p2 z9fu@w;$>~%BzmC^gCS*;>@*J9W&!!Zd_GSmIIo5~avza-h_m}~>U<~}yy{_OA8`mZ z=w!SMgWG8*Fy9CyWp=QTovPbBYJOE*4DR7rrnnmnQ#u?b^Y8vK#Pc)HMFTqn+{UqR?Hq0<}aWPX!xS%W9>4~*?;Bi;% z#IG>YFN9Zi=jGcxwx>}4FFbuKq9^6%Lx$Rp`h!M3jS2}nlld;5#CnjJ+Zc=K(cM*F z;J8?7BdqJFAQD#GfQ!6J_DU;@S~7cmV)n1-}D+k{E9@au8R4L)CoxhYUOSPx1wrfn!iSv zY*#v1vwedU1gp>Cb|$~l)^b*DU@&OrWLAQ=C5gK^Ra}fYXqNaYwUnMq{ z5&l8tm&a+JZ6X7&K7>QcBAqH_!t*E+eq*AS^$OBG(!e1-n-1bJ+mU5OIj8KLA_Hu_{-W{ESigaW3T&A&AJ(iE+)BWg?; zQzYFdo8YxMb*`=AX$4xaGe@&XVag6K5*%Ky3SVpFW*fsO1^7ypE0JWPp~H<@M}iVh zX7bGAv-QEz#lLv#{4lrA%-qHZfGDSE|1pd>8!%`Fg`N^I`K)tKbv07<*Cr16?+?{U z`(nP4j4K~whmmztv@njAFo33KimwvV>ziN4Pkjt#iv=oeM##sQH3&YkvrGI($Npz1 zUTWaqx-7URtnyD?R%EM03^m;GO!t#_>g20nrvQmpyIngS^A~AN_cO>M1aDCCWo1Ug z6fUSMKL)oy@F6T~^9*R>g0$~xsKX^fzav>&F$XDOXBrsDBAyK;#bmgu@GJO9AeBe0 zcql4&=K08mssUea=nbmMZNM|mbJM;p4v%$U?Ih4C((?jMlO?q`9yN#^i&*(TvfQct zVwpmsJ#anzrvi#JPN7zUDI*JJTwVeL@6)tGB!K3)Uj6m&0eBYz6hD}UkVK?32EB#? z9IyD^Ay`8Z%q}1k^jTMv&- z;PHk613s47XxfMbd|D)%IFCvO9+h5iE_c^Rk!}W!*0T_Qyes#cQ#pPNzT|@T+TrIZWx1JD+&fBeZd=OeJx1<}etve&bYz=d=s6Ih>%CN= za_#-J8HAq0>Zz!;VEkHC@>e}Xew%P^0<3tU-%Ig9aZ7)yJArbFIH65qAVo{02F=*) zjUWh@?8!Cno*nQ0Vz)0D_)>r*mZ8S%bLuIq9SnON9Zn16FDQ^~5an?^dzPkftXK>A zOp8GNvT^ZJo2!SNWPq5u%7LBu)$+?KH3d&){+yht&6mg>nAemjx~PyrflIl_`*1gP zLqkKR=uJ`sgE%?q;GH6FE1ads%k{21^K;jS{LqNk?!;#WB*Tk4dC}-QtFR3_8W4ER z@_U*}t3XdE80;$c2w8Y)BQ}pTeMU@$*Iti@spIAOU|s4Z>+Y+Wtc(aJwDq&FCSRyB zg2x00eFhWLG4;7lI-v_owr)jt^(t*14ppqQ>hRn*TGeIwBRR8HZkk^2l@JVzB}dbc z;ucP&%TIL?!a}tm7n<9#k8QVWTHbUnuKWfRwaw5uCIaO4oii&No94bf73qx@;un)S zg4)z@rYN1kZ0S5DmAJ6WAh<(9%ufBH1uK$Z2fSDZc``Mly-T=5c-D%kz ziRcJhg^>bRBl|Tw)-+~(d$WGslXJN~7n+~!p$QWy;nC713W#1vsdXdg_Q``I_h0Tw z3#|ou&kl4yZe8elHE{nZq+w4@PwVCTg(g%AGHP}^{Y4phuYwZQM1NVP0(VBOIx*$2 z^8+hrH&FJ!{G|E0T3tPmACAdj$l`O%YoDa6rc0Z&tk>%QwmslAohLx}1!);Ptd{Td zT{;*XRe3x#3KNJ+#w-voHN0Oop;sX?cfw_p2pJEw-ySxKDu0r)SAa~=z+nXV8cv`Q zaS@E1_W$x%5OMhWz*Z5#K*Dn5w>i`bTcRP^SOWFRN|-?i7i!iMU_j4+EpxqRW`j3v!OR$s%ODXwCp>JM;!rq|B>CJd3Y|`??1>{ zBL?259EEn)m)9Xt0jM(WWbZ7n%f>Ev4M2_y$^JpiA;U8LXeuSQZ4x7K8JtSNq>;^b z1XW4&k9O5j$2(D#>-%Nq9GOTGKAV>ljhDl0mL(In?=a{qx%q?iykSLlB)cIm+=}X0 zhLM~k&db{)2^9RV@1I|Xv?{f(&O_Y=sC(jssf8avl7H4*I*59Kv=BaRJA5BHE2Ctb z&+o1s1fFPtpl@^0GVI3_vy}1eB;B=7mQj zO$|F+ZRN#>+)F&bTAKHs#_7m~gP2$!csBR>Q+&n!0VEay>*Ufhc7fDgB6}k|PERP_ z|7QWn_&~^GZpEXyjOq7rR`~~jFEv>A4tz`N-7nOss*=_oYpfm(1BZt8OUL9Poxy0p zh5y-BCOm~Tkp!w)l50AV;N34@Dow(4o=YtnL0u{L8bH_;H?d9>Exf~#rf(biI&$i2 zCCQ&C*ZWgkR2j1>a$}k71Rn%PnzEDwCJkGpR|Fw&9sCW=$-gG9!4?&5<5#uDte!f! zIS={78uwB@-b+;Z6EHLtZ|wJehrb}hZNLl}epnWi>-}c0@`6OnZtVsInuwMwMTxGP zyNAZNW|(-^;|-iAbd|3jtz4TsRbQKP!Dz_NIbmg`SFAG@C!&0XuPV#KZ7W5`<}088 znMPjWmng{oE8Q3?F z33<0;MD0<*e>O9GC2W+#PO$J>WRBKD*^~Qa?BXKpm^E-w4aJct%5A_922YRE8p>&F zW8`C{UBdZ2DF#M{3OT^%r|HcpEe`#u%r&M|COV~RA?vZpeYQQvP`HZQa-s}2y?pc? zn^6=IR)TKkXn+J1p-*h+wL%D&8+x=WaR*KOPjE0)bO3!1jnNmQ3dNlChNz;Q#A%{wJ8AXp*_QPPIG_;@07)7>a zP=?U}=Ju=fP$;u3S`m4vY*=y(Te0Lwu{=PqOpZzI^4zmcG}(zstw+?ZL!fA3ifN=r z6cS86EzYFH2PHJ9Ml+9?@b&i7AAl=Web3(18g1>NtolyasH-nP0VQQU`!0`;ho-@% zr>Cg%G> zD#y`tUXeWX$MkbH2vWdW6Dt1BUb)dc`!sTIH*STxxiS+5xl;4#lh9Wx2_+VHICSv|U`p60^3)}YfzOtY`{P-&N1G!Jkd!>el z1s^;>N={|dCGdP@MWg?@gfPu-Cttv~j6_d~nWV~EIWuPX3Se#&NW^U$r5|X%(0kXD z#!jiz*S+n$JxZ;@yI$~zR-n=RMZ_Z?ZhD9}F-c~=W zxJe-wG0*8lva@QmFMo6qgPoO03=$F+VX~_i9#}|9X>fc7G^1SAZl^A5E2AvCTLrxe zOJt7V3|6c?m2C_fp))P=FH1CuxD)IL$*A7NTbJF%Un}y?U3MxpFR2oQIL5lA6`^M5 z3C-3KDsq{5sr=(yr+85y7u!IIs31k?o#F6*l>f-jY4K$1<1>?}At+gb(* z1&=VCQf9o8&YWLSQEb1iOE;F?$`)(dP!pR-1Y3E4<;c9v2E?FnrXIvWP(xt(hwPoO zd~cEV0M``S-=lyOF|aMXB`1L-#v@hb+B%iQBj3wl%M%8=L6{!1RG$9ujn=*F2xXR7 zKP$RI%S;061L~a&nPI;Y2R>IZFiOJFl}z?>8Wd#K9|*|J7Bp7KdbM;GEegsfp9gBo z;jh(ElwayI#oMXoBZ5UqPR{KNX9`p=-FHpOQyp0b%4+N?D?JGZmcpxRa)Tq|3t9Ri zA6m37@df?XggzFfY;0{KkgS<9x;lO{>vuj+&YQgO{!)MLMDxx&lVZy{fxn)qLD0O-i2<31jtP-#lF z0nd=P3obnaLqj3Q{_ZOfSGgEXT8=b~?U>B(fuwH?g<}t9TLUI@0W(!;VSayrx?IdC z)YyQZ5VPX>EuH93uEOijWn1Q4ZsRTJ-+2^FWo4}3b6`Nf(|K84^Tpums^$Ue4p<=itC1zHD@$EFM7KbKAlvONzG|A=kcurnCz%JuVV4jMo49!*FDiJPHv^SV! z7xDDFIYLv~1W^}sQJVY_{>-QW3qlQN#StHuQKwU(I5JA^kkE!nXyMdlx6H1*Pu$!uud1X!vq9w4ea?G!{u=NJl@OzcufFVXuy z$*)$A!2NG}*IXG|W^zzv549B@kk891t|QPLZEbyzl7M!Bn{98I!I2m)1RI@Er5XVM z$xX}eCdXnb^pW?Z`O(K!(D7d_vhCjqr?K_m*-Oh_$wSqSr(!MbIHCm({DyC zmd|v6Uh(nxVDrg9?JW&-0egN5|do=i}7D z$>nOqK?Keo(ZwED*@z|N+sGTFhy&r_;eTg;CCZ>y%U`{WU&zCUflHPbHU{E4%T#4s zq+lMxQmz&B+vdxVYiVt)4bM|S#Q|I7pY|zd5`!TM}6o=gTp>Q$3Z6>EU7lDZsdePZJ2wmb8@>Kvv67J zw8$gMN2!#xtm}K238uv1lz7)nK@nz+PaFoTfy?!n3`&F*A~5c-vV)j%uH?xe%b^sy zyUM>{+!z1Ad=W)*D&IuBm8{pJ5<62HEIr4Ac~d<=N5>boE5j4>dy$ zHAgTfi!)aaw&rS4E9p>3?e4H)8)68H&Fzos7e;_bhX7Ys7)qo{+`}tm!)75;BivvJ zq_sP7h|!&3bcoBzDirG|X#(o78GI?l%7pgpL5FMfwbRnEULvFMd!9JhmFg zVKni(igA9E&Dmcg^A>-IJnC3Ghc7K5o~iB(C41u5ZYrqUDP~hqhLLrCQx@4grS`h{ z8wR9R0uE9%Yqc5=kR98xc5rPF{tNwm|978`>VGPRh&z?)Jc~h|4HxrrKQrrp<@)_^ zI9Hv17bgvlh|v4fmw!h9``&N0Ylq`AmPcP;d*u$vW)nE!czJn4J!FGXA_m~&emW)F z@!L5%{+G(;Sp7E%Qh}z2)I{}}s$=_=c<)cqx)9j!k$L;!(o&R}&EA+O` z44kY=Q<g}Q;tLV+rXI@K7Af&b zWgX!|DTnm-eU4qjO7r4c)jCWS^4YV6gu$4~VcA__aeF(hE8qr*_ z^{mS(!_3S8fg-6DMK1ZrNuw3N=!i}6w9IOiP2&ofOk@%r&k-}Hv%s47pde6Dr%ad9 z$i6W3m!nWUbjrgL^FW?y7I>pdp${4b2BPzPh}tE#B#*{^Q-eLUvDGbGdj)QhUeX)d z^d9_J8aKS89;pJku+(U$7^3FfT5{`6Sqt#;l{ zgJshl*&CBg+M7#DP%qc*hw%V9-2~t~#AM81<181}qV2f<{zBrnR|pJXYk4hO@=b{a zh=o4ang83niA6l>1Jx!0iRQVK8ag%lI5>2btE3D~b8d?|=J}Ya$#B}#kmTP035FS` zJlkx;x6moC>$W!{-`i)j4%guF^3?j0TGHWfdLXg$=>KN{Z}}U&_Lmh&*S@=Nb3349 z=oFE(0_i{hsR}Lg{WXM@0}`km%xLq`7-;AApw*a^RF~zpjpuy?pHe>CU)C)>`8yvP zv)IcsL>ueX5dy!8VJh>D@T<-ff4@8Yv40H^Y=JTHwph{J5F{=$T`Bvl-cd?!k}^j1 zHLmcs|La+~NGU^lCm|u>X1x2Z$0jile%c0#rpZ)tHRw`eFTg*&CjhEC0GN~1iTy}z zwXa?*eE3C0H={z;G!DrxGPZq|sMB*)oE2$JPT0TUJmhneUbkY}P%%o`kfIspQ__os zb@FM}Dvi80AkcnjTt;DiBC!3-7ATp zPSA%qEmk2B>hD?SCUHWun&vK>Utr?P?vDg-q=XLrf>@lIZjiHO&x;PUmgGLiBxaT* zTF@$;Y6+;>3PeZW1e~5Hy%`n-Y0(u3Ymo=Uu!SD@^bU}jOrrlJlNp-kb%Vs+pAL!9 zT!p6RC?8dh-QdRG)%wH)EUF{ek#2F9YMK6q z{we(!mryHFCq;rbA zLuV&Xxe1CFbE=_PAChh9#mOA$1!a;z=e3%{3+Jq{5ONvmwWy;L%COLI#;W4K$MB#N zYVXg}7BOrT$dA98H4vY%(_>{7l^C*0%3oK++o(t4jg1(KzmAR3PzV@xv2xz0>E0I) zBFmg2G}@+~V75`i;lcN$jwi0e=r9ZNo2g(?$ns%FOK9j9LQ9rxrZKf+gkVti8{viL zJqX~1m)F`W1quJPdCgCn>b$1S2xQCbdM~MguY1 zY-M}7msC6&-}W1^=#WrLNW=_S2sc|RD=X`? z2Z#woJjo=UEG;4A?M@vGD3;kjbnjk78@u$C%i#`_phfAlW_WDEw~frn-B?Y{S?i9yg-LP5U@aI(1Q1Dln!?A2TePmUu3zp|StO^Wk7`6y+mTIEY~<7XJ|5 zkRF%mvO`wTIH07uNG&471fYLobEQR~HN3{>WCgY&8M(LrU*S9*2L$HNg18C72r|{L^zHDQ? z7&K}P*$Xl=o0SXM?f3vXt{BaHZB5N5Ki^dVruebY3(2+PbqH|0|GPixzyH}JRRq|2 zoL=8Yi9P)f33qKSS8tY7H-(Yc|V5$GhNX z!`{H16YXIohIL*7G0~09O|nfO`l(hgt)2)T4$I87vbs9i^8^_G)aSYjiHKE&kE z`;b(09fP<{o@to#A;YR#%dQF|uHKf)>mXXruYm%`?p=BtR?Mij+V~Py!JqT<$`Cj@b2fu9Cm-<_fSe zRm(~(_P9<(pNad5dqU$;nBzKURaujEM3RPkL zs?YQ`uZLbA2BzFm$#T$6YMirWTtf61OxEs{&a5x(n8VjsGBcKRcvmUmupPVRJ2D29 z0KUY+|0>rJ@y+9#T-1!?-P!+Yq8w7*l348Dp38+$WQR08-v0reTW)^g$Sq5f8epjS z*kQZ~L?-~W@(VBz`G!3Gg}dRY1C}K3oApB9?O}B3LhIX=t%Cyzn>`&|4_})dOqkPD z%}YVvrT;m+GFq!p6R!9HdwD|WZ|Dnyr)6e?w?|YzFy>l2pdI$_{RI(+q5Zauu)zJ9 z2e3`QAkKifvnJjJh<86(-Wm^sl9>)@e8-QP#?|bNURkVr1|QO3Tzd1ZYE~Z->Zs03 z*pYOze~3_jvmbv;=ipW1^$LM)Ir_-qPFQH$Ymh#Q)VOCr+!eD>9tVtj_EXTxC5WTgv$S{Q8)M=;=eQw2IQGK_*uowjnKTU_V6$ALckb^m6F*mA!N-QE? zH@H*-WfN6sh-&TGzhpwqh;b0>>ha7`V3A_OA+SLM!uBEL+SH-xWa2jVfmHmzkj>E$ zm7ztJp>!-?72{We4{ZtO>hC@1VRMwXr=MkaY%`A;|H!(V*X`abh)>_l*(h!(1@l|u zCp!HM6<3j0d$o~0DEGF=J|8Ga=vVViFblh-hHNlr6QL?!0)5r9p5itu%AiznIw7D_ zl6p5)R8;Ua7Kd^>Lco!AS7dJ8iZrPvN#V#dE9Adg!69CH9o89RG>)-;v}{iSXE64b zK+t)gXdWh75lOl>5qwa!IbKry8ssgt%JH4?(OiGIn5UMDiIdz!E|CG_b7-Oz-01Z7 zzV+uR%R0KvGUg_l32h02VJJJArl>^ALKz&P#Y8aEz>`CU>HSwlRr0^m;AI|CD?`*n zXeua1g6en^2>Am@Z(P-)s%Wbkhj-aK0Z7EvJP}0)`R$=Dqf==MdCjB>U|*~qP9W+d z$>1gHp-AU(EnQ(nCFX}@{>VT|utHRUOuH@P;1=)m!wf>cRa-CAQSKEa8<)R?^5=(V zx^Dg)N#dF6XETo-i+e@jj)l`5B$$Fwp#K)|?R(9TDd=<_eqFmWoVa7uq(gn%UytOV??cxmbw{b7<5Ulm=c)qb%_!?(_H)p8ue z^`4LUQ6<9;7odNt-2dge+jXpY5eRdn+gA9ROr{qY{&Ll*v$G=Zb=_?J$hEI#(&0J^ zgDf!cxD2QqeKU1!Vq9V zx?dRkS1}cwDPeMBGk$RMRn%Tl9DSBp$fsND62`v4d`#I|a$hFjorVUDg1qse7B``Q z-+SO0ky!_JW2V8l)>zAe|BP-sb-6Y~c4d1W-d2k&<07=_$4az5Yo(>D4cUHs`Ie4Kj=wp`065C3nwl-wHykBdo8}7X1m+UXK(By%TKXZj* zVU`3W`|3)>xMTPnC!U_zK^MS9g-XJ|)=n=?WOJKXx1wzZ=n+V)+FDw$JA`O_Squum zp00O=WQYRR%KON&ZI>2)?~^A3shid9eYS>0?CDg7`K1&Hb6bmkwuQ8Kp1gU4XWViIK0|JXvq<5N>J zP2Aj0m14kfZ5sfK>V1H5RNpu-uZ}o za2L~o2|C*IeR+I*%*)H$$QGUXo1$K6sa*GXwT*}{-UkjzZf&wVzhgj$`-XZN(T(95 zHHV-W0~3G+V^tG4`sHhuPvQS(0c7-b`kpB7Vo2#BMJ`mL4~-=g;GJ{-{9(y-_4P$) z?hUR0XWb1390V3+cvZoO7O9wzduz)V0djK7v0^zgqKpXvOzODLrE)=VhDrtyx-*8h z0(Hs~CB^O&V3DDoHpse#9x=IP1^K5PE-tDflv4Sqs(${2Q=?(cRI8mn$lx8)i--@6 z2!ez?0D*t}xx6F-To9d~{jHg0;6_{9+XMO_!TeF%W_)7VsTdq| zj8aBSmSb3nqe!BZi3FSyQpkOhaJ25^x1c}N?X_8bCULhlr75W;Xh6CUCDNT0^9D9r zCBY)aRy2k__o0bdzoqlgI=SU9>OZ1pATByqMHL$EJKIqm7Go*%a?s0M=ut(mOdDBk5SrDc`;wNhj{z>BC?yUP4v#frD1Hdurc0iU zJ8rdji;{i&EAPJ_K~j}s&+5I6A|~hM<<*C=<|fPUwJrl1q?~AU{u=6)Q%VaVWl}h@ zxSO;LF>*V7-bK9eRTR>6R0-`GT-dJ_x_resl!Oii>H|nN92I?-5#(4UaJ8@4tDxC4 z{d6=R1h4yt#_kPjNw-~y;fjdjze!Hzrd2UD!{ zgV%nC|Cd(hVLacvsPTT5<;n_9tKC+E@9Nd^?>c*;rS3nswMqb|F8X*-%TR zs(~(D8dK-Z0x%PpLVYj53WSTB98IMKfbcDZt@ge?CsX(ZUGn*YADtI7Y4kf9Lsyo*8!%(P`FICrSHddzylynFFKRq8nx;!hi~>s}?22lCx@>xx zmwt&wp!QX*EG$6G!SIW3N(_Ec&?QiFrU#A-WFH6j`_o))pMzl%{+U-)tFu6KX^ zs;;)ZY*)$4C%2N6p-DKRrlrn<$Cze`@b4IsM*wB|B^i9&dwh8Y*Fs}!7t59?OetI$xlAF=qO~jA%5!#2Rqrs~l;H=aHFzp^k7c)@Xb5$jaT_KM z?YqR~y3)K{Jg{Zq=kn_EdbeS?#Z%jUhC~KIkGnl>3Q(iPdq(`e0c!%RfaE0I*a?mRCcXHZl&Qif4LKHS9j5b8-#$1r?(>fddb1)UiU;@ zsfBB6C|lGoA1IA=bNU}|i$#rgW*cW$5J&NGxd&I3D7}A`(sk zWbTaaci)W?8B-jFQ>5V9Umxn9+1a%8v%eo6670G?pJs9`bKB~^+g{X-l5BN49|o&m zNXqA|wZ4_cwe9X;9=o)(7%#bYf3O^i*z5lTHrhNkOOZ2mkENDOb>m!t7S4|o!}{CA z01)Et12q_~$7Y$%jQ}JfIjf^I{XV=dzf0{RIpy+W{Vh#}&b56Y!h0ro3hQWLxL%z) z1r|;J&uEB=5?MYbb*PH=^SK=#46{gzwUyP_vCU8|7f!w}4uU%%*I>?w2@?(I>kA;m z0+df~?#-U9DEK;tyGj-*ZJWhwI1oym-6isl_xLg9025Revp>>6;l4-IzA#CKnY*Qh zV}OtSkeHZQK;S^~bS$Y@gqaa55i<=tz?G*0w%B25d0B-)+mn{Q!DU8d^1#<1pz_aY zQu@idw@?J@cbcP4Qgy?>0GvWr)AMbQYEsse8`r1f zk%&0P)MJEVQn3@a;T9rG zyavR-AF0Fa{5vy&`O-Wm!*_fz;bTe)M2+Z;28k&ao7GDo=!;9W!buN;#p#=GPJ)eF zejunr!_fyOrPU7nSW>A#lEf<~KMeNGo4;J5M*g(VhTP~u$=MRzzYVzsGX zbApv7G0!wmo=`&ST+UE~()ddoAQ*+fh?wFwRqn+35Tx;if<21-PR75*NKSBaK2^h4 z_7dk93K!cHT|K+O2FuDbbMcrGeqO1075Fhbw3!r+)aJu0ua3}MUW1jln${XnPjEjG z-%%vq*}R>0;{6KFj@Kv`nKk{@PpaXE4dxHrr(QAsuw^RIpWJvXcCH$2t!A!z7hY+d z@;gI4%Ax6Y1H(tvXUr`7KIB*2zwh?*{0XnxZEx<+Qg9je1WNy#gL7~o$IJ@y?JBRi z?1t;lUhB2^Ecc1jDhc%3UxYK#r`J0W3!wuWsDPIk;6W~*_X|$^VDz7t=h^9eAL8E@ z4%`~u#pPveEIEz3$Xr?j0RFF7vzIaJ2CSS+|0vy+GohmkivonQGR$R_ zOu%e|MgjjnV-E4`AB+eim4QtIz>Ei!54(Jy+5w##A`(>Teytb`stx#ap(o($$v8`= zRoAtGAl<*%T6YaC6|aDhC^3riIxRfFGYcb`=Jg+GXD!BM)KOMVF*Qy?kNX0NcixR8 zQ{L6(`tQBt3AjnT_91FkoO|O4)kN^J0nI>x=-N~6nj7(g9xT-w zVoAA=OMN?YoQjFXN^rl}n}QCl&Pvsgi;&TT1*4{h>q?0$Zn+s%bHKV!XxS&xG5sxa zsae99ybZC%?ZVjMNpdYEm>hPheqcw4aoNtORpZ9bucjIq(@oVs=JS`-!#A023JzB6 zsJO&z>YHqwRL(6%_(v>5HklXA|Bg^KASAZ0X$+>G1hBWj*b0$rdm|8>o$3nFk|5a+ zF`C#jG|c}9vd^%i;l;>LrbFu`quqy~ww?2pNR2t4DDJDt_pfBB9gSkjdd0-H(I^ZU zHi)78vp*zL=wyLrA*gMm4!uXwC_%3w>=3*`V@G`}W4mZ;ZdWVymS#tfjYQv+mfui1 z1-hcHyV($n0ZI?)c`Eq%O=6AKr6^m1Wie~)Ra2_oy2eC~vS-8Cp=(DgTF@^09XE$I$jjxj;*b&_kPrXo1SZ5 zrHeVTVH4CzX*>>)7FN3KRUhO#V3l~E@$BURXtxD=qSdi}f?uK|zng0=hI0+)-2tl< zi>YknbF0d=AV_R5+TBl@(e$$sF19)s)4XkQT)M0Bh1AGFjB^UJiML4kmfcfmNznT!=6sj;pL zpr|B;05)mPZO>c-mJtRP{#^Ov%F-GorjUs$A#xuq2}Fl_g1m}%esWO_8vX*<8&p*h1s-Qb1hJZ+kLMrc2Ke zhP#)q81aa$%CWL&G0=|X(nr}P)@~plWNn#*c;@6u-n>s!l1_PWXbD)lLl4oWQ3pd8 zGt};jR@>&9yh$q);T^&9JUDPSVpo-0!jPB02?#tcp;|N~O;6Rn3LHp94_u>AQM;rL z_x`jhX2Zj=EY7c)&`#zsZ!wR{fYJ){&)9)ADQAP&&KuH5{v*d+tfKMjw1BXjZH&57 z6(5HX)(0olr_9KnWU?e~Yyc*V1wP!GUXW*>a{gz1*{`Xi$v?ED@iTRGjqDbRTJ7A? zovXX8yp?`4cARG zE{%5RJQ9wjld5{qneVt5uHwh6>)r}K)z1?=+zn~xn>`DwN+PT{-F;x&9!JdKvvh-A z3L?$0cX3b2_&t@)3Y43^>Y-$mwsbme^SCbzp^NE8pb}cQhY0?Lcj?%w$!fB_3yWO; z9p{h%i-ZSOWo=+kyF?vYL^8(*BprQ5@c({QBr>G)EPg`|1PVszm|tV7$5-R=1nE>V z+)VhqC)&OLS^_+@X06Ld6GTV8VL!NaE@+u59@4=Ce7-6@rg=WmJc?BlQ4Z#eC$Lsf z<)|Obu;Xb184!~sVRhkN%&R=Rlf*>87tyk@t9t6`b_$?)UkdWr;PAO015BX6QYU#( zMt|ZryJfDR$E6kia4!wL6df=6$Oa=^hy5#KXMZ#Bza#aOMBnGaJ-BQACyQ!F)sSX~#IXJ> zWOJm`=|QQ>q?!r^D41;oV*IGl;y|~j0!%3PYg$tn#w{%h_K}Jyjx_cj*0e;GVqGb2 zp2wPmoVvF6@w{$x~q~UNv?V3lCH> z(Gr3M4cRZ-sT(nx>iwFSosO5_;1z|&Q+wkKH`njmj4gRw--kN_Ob;K095&iaM}NBG zav>2kzsP=F>FUH%j=NcGaw2XCf`75<(0*j)nTdX{%t9#%_o0 zP9VtbHm}MtUUP19R}dX)ynaq%CFtn0NI1*y8nv|;jorb5^dmbPXn#*0Uroq;WvDJS zVF7k2z#-hLMmIkr>C)CB@pWH9(v=WBqrS`X_^ydsK2yA2kK8x-TS-gl_s@T&R}S?E zCA5RX%|kq^BA?`KaN7q(s4B{$mbvl>P#j@fQlDoZi5&nnELzsMB9r-Elqlk>YDLa^ z^3!>$Qs{0wfTQ>ifp?*&VpI4JST2IeV~*0&CQ>OXFQ&9^HqWOK6b#gTnyDVMg4oee z3sPV@Dkoz3+-vuX&kgI7sq(y}BQ9S{2AzY;v!yj6&+Gk$_3%KfM*lP*TT3gPazW}> zYOxOpvFe5DA>Iu`sybCle>B$X)s)|us2@<$213YrC@O3zm$csBR5E zgiA!NDmH4xKg$jZ#;W_IX~QJX9(mM{^d|S?tM(q3{-}gKxhZqYqy|~4WTZ_82VK+x z#fc?L`VLb{_EBRuP~*NR2%J5W@*0$PjW?Lmf#q4|fZ4M^o$HBB*H{L#Z6a-d1%-Bc z;wja!8m|Rr=?yX0_8rInkVymo^$!4#9FIhl}*OQ|fxjx}DpcJ!3OJ z;9rmRVB^DKENb|{aeP;{>450^FsWHHw#vcZ?mb!e+q2fd)!9 zj8b;5sZn&Efg!_jL`~FhO-&B7YvPS+QfFTB&z0b zY<|J0JJEVQrqY^heg@cK=R+xqz|2)UH)s(Vn~7>>F_>g#!*EE24u`{t4;(Z?LAaie0^?b-Av2=VM>V`6pQFY8 zP|rD>asK9_RxQ;m!JnLdW#cm?F`ptc{zs;)EHM^o5X^wkBeB$v&qsHBNULu>y$hpTonCGaRHVeZd!k=r<(uQ607m$)+%U3U~A^X|q)Fm(1F=T`Zc7{ldMfa(#@A18p z)EpUMS|(**6X(WFP!gVZ)QQJipKz4#tmcyS3HA`=ehZt8dyY*R%QeX5sp5gq?NDO zBRwl7Is4>NI7m-zI8==EzOd{aVmcSX4Hg#zT4{bwWq5u}1EEmYT13~yoIq|9l%i|3 zVMF6sF^xi>haDmu`PA0iK^j~0Hw#%a+aDinIgHhe`}DtE)wpD#MK!9qQv^#~(4VJ# z7jU?!2N4FR)nI<99ueWa{bJGSS&?7TLsFQbC}JBAdy4jjqpgKGE=<8nQte%4`Zc#Z zO2MbJ4qR~gA{9miqMcPd|7^F#<> z<2iOPe%WQv4lpdU*gUSLyzYzQ@_g*Oeia(*|4ya9_A%bPCiXP+wex={7yvzw6hFZ% z^wn@_i*@#=%Ve?OZPjNBPx2`}wgz7`iCtMRKB7LRibHQ=n+sAI8RRS z2VBZWUPfdPRjDWAd2!q^dWJpL!SeUsyRK(!CFm@AjO=Gn`cu(np0DDHdM4M}6;^LU zp2{r}6zYeK0`2G?PQE6z=_>sl8lgA|i9Zc-g6c6)9(D^(9%;?OTO43bkkKZ^WF?qr zziUww;;G603iZBLQzh}2^<0mv)RTM}te3GeK$ozjk1@>V=WnST*4h}_GmYM!!nP6m zOAn2MuWrMXZGn!d{ei~YksXT^vZ>XTEyF{bUSDN4o>;0^J(s|b66UAn=Q^Lg!3n>BJaN zOW}Ip3bqsv@H$C|T1OanHfO7~f)jizD)p`1PptAPsaj~t9;H$}VxGj2jaon-r1PlQ zn3ziP4Mx-1nr@azBx8B;znsG8lKr}9i^W$JgY@`NyNwBk?L?q><@6s`WDKcvI67Z;R+z9lqFJqT`o*RZJ#R!1t%ZP1 zk9*pZy-i#V5K*h*7}0tHGs0R7{6zBL^l)+$(DCFV#xyir(W@$B5X;%gae+v!9LVk$ z`pxC3K-2qne!-?S(X-C0w5s<=p&x9}-2WEVY}CNx>zY}y{#+c#v7}dxcE-v+l7B4cV3Os*6+jFo&2WL%WB@7>d<_-SseI35{!u zZpB6W`bq)^-*oCH4I0H}=B3vt$a=v-fdQ$#d;+JikRr*P!snc|BXW0cGLlt8$A5pJ zsQty!;(iFsME107qE5+hitv$PY{p27M+Mk%)2Ud8j^9>^bLq|sX-}v}d_+B1QFMHZ zGTooVyGh|3&An~h2oivhHo&@77&G4fzNLU@6oYz^oe_0gG%`i$B(yJzB-Vy#MdcRgN3rptv$u5={nc?nI&T= z31x<$E>$Qpcm%2Q$q5;DbzU2UWTol+jQHi!8h17NaqFehSaGA-mDwh1$v>?N zrEqGWZcdYfp|MRgyj_aztA32qKeYwV+>&|d#a1rJc{#Y_(BQgb`X-bKjAh%EuS8Tq z`y2DxPw7o*vGdLvjGX4JqjcmP&opHf7kEM!YfTf)>Kq#TD_H*hEiE}qEd9CdebVek zS7NW}$r+b|P}I2VN)7xz*UtPRg9(;jI+dFsBsgC;OX^`2Ib(~`H<})Dx3(Kk_q;%b z>+@F0st0-{Uz~}&MfPE^j3en^89VL|&i-HBUl&ITvzNY3%V+mcNY?952Ws*5-5#%Z zhl5l~8%-9of^F}ZqFeia_BT&OOr>ySMT85U|hV>`x8(vO2}E zX5nz!7ev5S&=h1x?^Y(Z2b0 zdv1K!o>fI=xX3H*Yd3i^I+(7MwK4XN?U@CqlOv26~@B-1?`esS*v27R8*uiU7J*%TVP6kH*nt5WP|&nGq>_ z1#Jft<#+$>AAS<4O@tiL)}Hx)mJXZ=LicIboXSA&dSdW- zm`5#_&*pJ4KN25hR}$3F*Y|qs_Nq);(A3xM{dwJc56C7O(!amI?-=B7)G7U$*x7|I zD?$5xhW60Cx-D{1nXM;yU{URP;G(*T-s`nDl!6#y@CZKIkKFxlyc~HkyfOiUx1ROa z0H88eF;RUcxK0Y0iqTA6F9gfLBRo~&R}3&hG;~GB;zGJ8V0+1vf-EW+pmx>z7{8w; z+? z$N8bM>t24M-OOyK(}UF%x?>|>gTinBQl4>|*e_;`12U?Nr3i5+SziC66&B1V;5hMF zchu!#FD9kPyjFYxdHUdvMrestge(C$oc7KvGXlY)HZeJ|-cAw~3+qQQ#_)s$WVw1; z9q2oan(4^Iqpp~$DXn^iHn|L(;g7fo{gE2^8P0jtEKt`2d>tuVRV!CwF;~5x<=y4Q z(>P0pYz5dJ#hnWdnwB=M`nqN(eBU&WB85sodny%IJ|>Gy*XOu8nY!p{!Ev&t3&N0A z6pA|zoO#ivB}`JOA2@~>almNuEjezIx0!Nd7v>CAemPolRdN3yF&HS*(oX+X#Eb0I zI8z3~ho-+H5zT>h0Y{_pAf=U!rXnS9m~&;3-Z?bGro@wtvR-|a={Yhz=}EaQ5g z#q88QGZWt2^(EqUjrVCwwSDg?z&qld6Wp`IcvyeIeT}5+Phg9|<7-(EYe|+54EhdJ z*^r^?gmFrJ%lSDX7VBZ?@0TGY&nm+b`Sbf?&ZN5VG$Hw?3uw0E!#upHHtSObWN^|8gqFt-ZDmXNqPLmdHUq*$$582C*T z_06G71xZ@#f)djOb2Z&^97`N0EgA<`n;tC=gaDIeD7>t@4Zdb!-09=Jo)$=F4Dz-` zXJ;^7lj_v&={1b9Z`L1+@P8I+p(%*mVcfVjnuG>!wY|t_-;$-Rn)J$GAlm$Wux>!; zzt%KP*bIIydeW6*!uKL?f&A17w1_iqC5w_2s#4>i?swr!U4c=vkjOn^}0>bFwP%KZ&U$^$3qc@EdLheTl_p@F<9E<7>42{lDL6@!Xm(Q@1tx`@T_ zzamw;gNAP)?0A=CrJ~r2avZAKe&c6B=mi)$vx5z6OZpOsimWL-CGB{p6(r&4+^wrD zY#qwGZe_$}$d145?kiyK7}AgL(nL)Aka!ta#_#lHyeCf8Q*TFS$(TwV(#m`i$Qp`SN%x1q;+-*@V+(_$SOW?Jz- z`)tDEiJLz9_2Z7W4v(M}#SF01Y$e^4KZhx*nLAp00#zk5h1oD&!;}Y?k;7`L5;IQC z@W}i8kBn?aGB!*fj*7?Z)K@yib8uWXAzNC-lpz&#^bC=Ct*s6A2gkdy$SrMK$s z+Zr2d2|Gz|XoNc|w?HomWu|>Dt9Gj*CB?JzMxP{#9Z>5)nn`EljZ?6Rs6d?%ebHF5 z=1Z$PRi`%pS;lv|+cBf^DL}N8GH#xaMyoa~O*~r4k(8VNelw&dKi(`$LSa{^+w0X){bMy1QgOH`7aoiyu%Ko&&3< zyL25f1T$E@;K;s2H?)VOhOdh<9YdzYBgCXuFt|#;pxJC%_Ieax2`rCgPMm^EsN{uf zo%Q<;+;12$A(%+uap)=Pn-p>ENzHP{6bjHvjRLD?l`SQmd6D#K&2!NgVY=u9GA4@= z-5KpqXgq5IE-4|)MI(SxH%0{M%l68c@eAn;NhH05M0zo>yCa3L?a9aZA#6a!ai%!Gj7wlvV1zzFDTN!Xq|YFAcpyNl)`{(rV5}%m zdz5bMHE|!-?<}x=EY99qI}?lC9?Ed$u4|Ucu`la>XoVAzy$KVP0{bL&fstY_bnW%deX4kdbl!>i*kNs~Z z_e;XPA)N;2V&@Fp>RLkrc~tQBpE?8K_ZOq~`LD-Fo{(B{rApJ#0*%s%&?#@{(~6-> zwe?wij&C z$hE703+{Q0JpMnw!)|{!;4a>sxEN>)6M0q)--S$#{4gSJQzX{i1oK8uVQ>P6mMQo&yqK16^GNnBZAh;ejvl za1?=YO1U(VBaa=gtVb6@eexyKC7TPh{K$%!dP9kxBgg?aGW8#;lhbN|!pk{mWK)tXctAAKWscbt6a{sr7m0(aIK`C_>(WE&V6N4fp#E8uD>q*s=riQNVTmJC z!IBDRovt_WViQB}-o=5JWtYK;hpUJCYDhl&dmAqtsuT({na7$13uges2!A}nJ2TQQ zY7*U{J?&(O=oP+%&EIQCq+cX2Dcyg${}Pcz_Y^(vB+5nZ!8JDKgyyFu44l*1fu%VL zuhyLP+juz?{4|d;2ZbL+o`5AuY1sCpYyV&ITEtG$L&9#-S*b@w0$ zADuT~>;BW}54AXqu17Uhih};v!S(n5X8{ulcaXoB3mV2E9H0tz!5VU=jW4Pdww<8q`e1O#MKY?%lz)gZ*$a4oYLtl$EB zYKpv&0`eeWc|Cb5M!$}kkJ5}kXNtw$6|5=<3pJN zz^eHS!1;u&fJK^hIhq2s@HtOoROa91G95!HxCciT0D)8^Mi5S*nxKYy#-E+q7+YdY zU(89fg&1VCM}7=v!eXuGHLZ_z(R`Sd4xiiQ*jz6_!O#*_K=C}<-X$}~QibE=@Ley6?EVEbD*-yfS??k7IASLxDPmHQ*kwO&6M z^ZcYlw4Z)v+sqqgWRdQCf^`dq@Li8?9f`d&%$<^xCewIzOpz7F%&;^cF@Q^s!X#BW z{R*Q@o=-uexR1uzeYsVvf`)m#q7`G~lO+&^RT~}QcETb3cYKNO?rg|02HBrA@dy!y z-o;8}k^D>BPt8$;e;6aA7==S;PE!PTR~JG>EQtAZ`4f{YKhA2Udt668V&C!1A)>=L zS~+ZaBFU)6?H85B*a@;t123P@k)wYE;mb75r~V8EO|n4q@+`~qFOoFPnJCH)Lc+Xc z9u)lExxHsZyaVqrP!OfrgcJ8Y3Rz?9&kZV3vD$+Yt-%f1uYmBPM5iK&{eSf09NR#{ zMS@e+? z2NtsUM=;ui#Wt;4xoF=0I=aB{;%fwO5jvqJ&(@nrFc6$~I3e3t5Ir*wW$9p1@YJH7 zNFJRE)}(pbEseqFM(PJT{%T;9po6)GFeWFiR0VfNk!4 zShu+E(CzE&Tu4d+1&6B9?EvJ7btQNx+))AdD*&Cuo`R=nmoG>THjhGJzZKN6wtqRq z;%0r9y1ii6TGYuAbyGW@+2;!K1&+y}uk-D1(ZX^5PogarDTNj=dB<1a5ei)n%!fsy z?uOoan4<3o3R6YZXlbH$V8D(NBuwWZm15SzMbqp|rl1Z<&MbL!hjX;p*V|j$j<;NM zZh2E?_n@l%j13M44>fxC&wrO~g{1(0Zq*vYCvwuU-d3c?G0>^G*>J1HwD*F@p6o2x|xgLs}^9q;*xBv_*ZGGniMBu=)U)|nhF zp1{&5Zk{GZD#}idDx)u1m(LrIhN=_dgCVvTobc&9V)X6fPP4?6n^8i(WI>!hdLQI> zu$)@Vn2xb!a$!nhixb*pveO3pYYf55K|6syJ_kgr&a0XDx8dwYbMSpO{Bc(pH{2@U z$}POq)4m*!S()};ZkrVbNB^ONeAkhs0&cqe7(e+VYEBCP;(1NOSsK={(g+gb^GgEcodxAERn$_HCrMO!;+ z(sI{E&-Zp1(0U#$DlzgtcT32hs_7AsPUY~T3kA+r{zIb+YJB5~qC(PC3+vn`rGBXf z)HhdvZkQCk)BOcgD3*ZtPWoQuC0((UfDLS1ONn(7YE4vvVM^vCQ8AOvOx%Q=BR{;& zJtw8wKv}lg$~c+v%-=9LIrw`7%rK_uilsG6>-2jTC{9BMIXqNL$lj(qNFq7g+MpxM z#s0stxMpi*Tu@|wW9-g{=)({*ZKL52cweWRH0(v6i7k@}znCQ?4Ek4sjXARvwi-Bq ze%%}a96wTS*%jGUNgJ)kesrVSp3(+B# zS3GV@B+2Ii>)3I!$NQ~%uyl+|g;m^JQM?O5z?Va}L>pMboz@hYOu+CC4Kl z$s}gdSIn0g-RaxhA#aT-D;)Sr#G~p6KCw;whB(_fl}vQuI_9swfAcG_FfcMOtQ;YO z2f;2t-9v>W3GXF&hH|glRXX9ZhI@FfR?dy`(qrPC%WGI)pd)LNMo_)An+dNu_u*M-q!qlpm1Q2nVDI0O`fMD<6M`A!`Rm`0CO^6moJTq zimu!-UC;t!hOq`6MPn0-wMu0{&TG~O?#95H97`F>2)tXVl7YUy|5;^ukP?i>e?%LA z6a|mXncuadmn&-3M3Pl!u@tJF(Jnoa8sOyNa$|} zQR=9P@DAZ5OB?`)zHaOH|EexUF_3WTxE)Cg^ibn8Ba(dCBGNXfC?*c*I_hLguoLiwX*l1H5JJLfiHLv63==b|(0q4{&P zd;zhs-6pvk(uyT|GG1urTv~r)x>Z^&P6a_l)wXa5(SBB!5*hgvtCN~uI5lQpqe@Kw zZPR-(0I-dB$wwUec&XO-d0HmM6dQsh(cdl;FhV6ZPb%A&V#TBd(f`%0oI-a+%#$`)$K0QLu%s;GlORhaZ3+uB!3|E{6lf;F?k6c0~@|w1gsAT^91Ij&gp<*9z*UdF| zFG^{$EvXKwEh=Xj&YWs7mkIyePuY>7Q|C(^)7b=btaMovq|ChEBSSU9@)def(B+~C zJhkX{j?S5%-WHC-TazE5GE7pLT!t?1{p&$79l~&!@aV-V6I~bz=e+EBe&;nj$G6H6 za>5GDcUof4<&TuNgA1pGsS{dlOGTe3VNkxo8sWK}T5QXIBq<6@tdv$SUb@vJYwF_G zaB(8+)F*OR3=}J(cumw6Sz3NiG$Y(Fz_^#@u$-kTHp%&c7&#u! z0(wi&3VupVN;DbtmbCTU%yQKfw4%=0gwOzfjKDof+CWd>lFP{Nq#|$ScjWjcexVk? z!HsWHF>udx7%PJMIvHGIAUZMn_1DDggi=Xg=b9##urdu%W(o49emasX6VGk42d(OUu-wQvW=@H49s;l0eRwmMQ%Q%|@qfZPR$VwEZA)2~55Z@>p)rw$u; zalog5@>;*#3*0B&E;4W3%bHZRwYP<{-eOkP88kuwl?Z-d05JRKa#d_?G5voQ@PYyY z&%|Ul^xu_q`FC~74XBO?6oK|lDJa7dYYO)vz zLg9DgTbFmzliSV!ow8QOcUT!Ci7mrd;o=<;_>j$-FK4;!^S`Vaj*syT6?z~TFrhW$ zIOSgJGO7j8GR5DVqU9v9@sX&fQD8@jlK*n}P_Shk(x6lgD5ag(&<(}Ok7F}+N;=J5 zkmk!mkoTB-Y{?)VZ=17tlcKVXR2K}8ic(={8eQ4(Rb%CHgf;UFur%wd7_N)5ok$3O z2g&8t$}TMh+u1kwe_I?8PO@j1GUxjK35iChWhQv)u>bGG1Wd?|G1vS6b-hSvlaZ0d zt(vuSnR>jRmf*wCmenln-U=g9jG?jihwVp`>K&=ENuJ5pkn&5$8vC$4{X)n=WiG={ z1v#h~v3hMk0YM{C7tJjR6}@eI*1%(RS@EPPbBUM(0OW=t};%z2lAx{M?6%bjC=x!4!hJDj=LE?3$GY92(^w4j)lKdjc6At zjlaOG11{W1BSTas7TdSTt|rnv4k@XNv3I6%evQJj?9bPxiTKqaO#Mq*AX9&IMmA`O znVUZyH;i4Q>F;P4*9A?O?6hQ$Ui_i2m=u?uk}}~X($*vr6G^%x$bwY9aep`9)QCe5IK6e5*B7$Qj9%gXcp`R-U>qHr1^i5yjG zi;9c^17JJDxM_MYb(tpZz{j9pQx>l(ZNCvpdZ0xBnubPC;&35me{a9bE)ChY1&NuP zk-`dD5_Z#y^VRgq?6?f$y0I^9RA-^4JH_)ynnZjmR~dY1AK8i;do#$3se}x&rm(V`VNGLo7pM z(c`wX$14x@+Qsb29TKuadn~c?ZsHsyxXVKk1ZUr5oX}8T}$&Gk$bk$oyxA#x1 zmK^nH3enJ&`e5xwzRy>P{$qx_%|X{rxoJ5bM@BH=9r28fB{vya3)C;rvwp;6wkVG1 zkY$4#`tDRb&nZcC%f=jdeqrf2E*hBzo+2OE$In)mA`wDTwT0I@&s~gO;DjGL{3w?k@%i2APckUHWU?jyJs z0v`{H(O8T?Y|V&cV(7T@^Xp^Rd@5h~Ct!XujQrRu{1cqW>#)-eSkC`rDQ~&V>UFtu z{>W1+SM)h(px!+M5`1pkwfbMIfjv4vm>#vtJegNULZk8U0 z&wZs7FWlj@FIkVMB>1?*>oSA3np3vc>306T*3%1cdI7Hq$x)WiH~mAnUX1`7lSdy% zB12bKtHpXbnzz`Aswpl3 zc%-%49gX_@KU#qfk?ne;9CME=pp0eiu2*eOAD)pCew&YrW2(5VQqqTA;lZ2Dlz&2w zf4|)w7z9k^Mq`0HoYF|OXFVW0@<8ZX_?&iQShuIz#e~xDYm7`9Ncg%r|e9eBxPUWYRMN+ z(>uzF*tqJZ19@!H`W(qF(cz;nzCWU-xSw>-N_-ioqKW4evare4aRefC9!Q|n+Z;$9 zmpn1Cvn^VV%&ayIcWtiOnGj7+U|RJf);tz7k6gmEq$6qQ$gLt~2egLfac}sJp|YBi z?mz|W+5wHp5`*trE1iqzb3#<~=?63)x>BrY=e6k1q9V)myP_)*4`~cg7t3dl{Rn>z zEWC2bqzfko33-Su=Y1(g=Np9`7eX|Uev#nHXSrulkC z1U_c_7;dNhW`7nuv@2}v{c{$|)wgORf?c^$8Lxu_Qw)*&WZU#V9`5*V<~Vs~6+fgt z9v-a2or1<{gNlsQ#5^EM!;V7*OyT#Gi6vSmn{@dlar(z(&SgO=O2v%iHpy~jIPP?l zqiG5ef|T7;OLdv0d5QF&)z%3%WKVZqaoW#vvdx`q73;(QNw;c#wDQXdxxk{)CO`jO z#wI+?D2>2jHAS?>*$4yUIFhm~$1xz>GK{2t*b=#VSJj6>T(|Ci$}ZSLf68o9PNEqMH5+{rw0Z8T7`^KvM`(l0`&ODFv zLj@})=Aj7k4Z^_v>xbA+p2HM1`@WB-uB*=T({ilmvt^qjt3`TxdX-B8hwC4`cZV|Q zR5e;nP`>z%NXJux)w@vHk#RHBI&&^w=kq4JQ0&Xt&a@f`UAyMjTTTBeDWhk3kGuJ= z+M9YmeRheyX20HnNr8#^tdI*ZlAjf5!XOw1{<{C~&zHZG)2W`v2QXn|4&nBBBKXnm zdHTBvd)t3g>F3Shb>JWrh=Jdu#!UjyH0}1d{>--Tw3^Nm{^K;N2PCR>b#=l{-7b%3 z%lYq1sfUL>{k-qMKXY&tDp$xpYD6GudO0lx&XfY49>QO*vksl7lH>TNfI%8hA53s_ zW23h3)0+SzPyg=Xgms_G*0Z{%21xPJ3x4k7T}iCtLkWuUC8V$s*}nOV1mO7BeOVJ+ zM8&wG(T50{Lna;MT3UAV$%?}|^7%Fy>Z0ZoFyDB85C~>nN7{z^kBhmu(c+p3lvr9S zlK&*dG=f8HKpp1gd)Ho`NZfGYf!aeSZPDYskA)Ybt$rW>d;dwbQ7G#nx2W5_U?BJr z6W2MPljj7fSuKb`B9uHRQK&O>k@Iqq0AJ?ixhG-4o)P}{8?6XF+QETPE2zm!KG@h@ zoL#K1GA%W_L?X@txhaFK8lJ*j>4l^O7jFJ3E`>Jg>8*0PWdoZ#Cw?glt~<^*T1sS* zGUdxTRVch>jNxRi6-l8j`3sbf#b|mnj&%@AmVj7NWZDX4oeQdvN>siznZSLqgTHx* z)Qx=?0&i?vV}EnT(tRW8d0$Aeyky1T5-QYWH3ZZ!e$jJ4tlPb;4Ar9~P0$-QBN<6* zWO0+h4o9lvy^G}MzJOQ5Zcrr^$GCUg#WAqP59t-FsnZHm3;s1LE(HAx#g#3K2SeF4 zjXzRuDl`8v2Cgu6)1)ym??pB~nSwsN3^a|BQ^3CjTwk{>5wu>YMt%zqw@j*}SJ@=t zQPaU!M$1Oc`-LrSf()wS@}He91_=26q&=QT=r^g&XsZ}_WSL0Gz%M7jETpk7%w|9B zriMqx3PYBk~2ud3p8-eH42go1{UMDmSd@ecX z%y&fsu{nU>Y1_|??sgsBA}-gHIlwu3z0srR`CX#2VZT2zOGiT^bvBx@_>i)+h0{;p z-)s3lPbRZLhh-wq9}L^=_ep9+T~uR*(k0ibypCOwkZPgZam-0gB7XOpo}QlC?=KEg z@vWf4XXnuV@B5m8$?iA1dvQ-w1%YDyZBwq1TEYdhhv^2NBlr#kLR(<#^$S3F0$6Gv z^L+dfhuiG7g{%)w0F5Tok9xzMZe9S()O}I}KQTGkX158Y$kQGtBABOCsy2MS>HrYV z{{DHN{^Pp`Z?M+m!`*&`q-6J_&*|Z09*Fub&dyM>)zym53l}u1zav%=Bkb(rTI7Jn zSz4^#wjZ&}9mJxh32j#8rA0yLdrG-xmlqVUY3Ec>;H&;>c2bos9XirK-MHz-5Zzjd z*(%aN%fnomyR%QL^-u|2X3wwRJg9Uzcsr>dfk>xEj4rXTw9G@{A6xupsNwi6mQyCY zob?9e7mUm*yW7)%ynyY+$asvx&F@lCWW9rOFOn!{&k{oOS@^l*u|5IYwag!t9!SwE zs70#xCnm0&w09#)a)!yf%9bg3pp=q308Zo_1I)yHka$pbmctzx* z@SAgJJku9-FJ5Fs&Uyr~VeeL8F(xcnSH{_h7sq2rY(zK7tQJICRX3fs&8OMz-)2w* zP4xTc`p+C>pNjRNVv6!OK@Y$&7Uj+RNk_=Ipru+gpK~qJSxyWM?Oll}81|5rAig4MOKb-bE$}PR?ITp^kVvT8P&O%Aa04no*|KXs#Z?C@ zR+FD~OJdB!Qi%{N(TdAj&^-@1_G|1TDyP85 zWYN~#uX#=Fv9;q~^B4q=9fg}AfY0u|_0{pOm-y>t6x+ZVbP1m7oY?Gb%0kHH^EKKr ze*?hyuC2He_)Z=jnL7ru6cqnNfAQJ;tT0uy3s0&he+!^SI0>YN`egJpQxdoxia;&y z7ZY-=z-4ek9#5qUQuI0hrO;%a+u#tG+c)_CEZ}PfAOd5SMtfYXJ;plt7B@7Ya{mbu zn^rFwSC1kV-ho0nnia7 z0iLD9ZKkm%%lV?Rva%1KC%{4F3Y?ljIx2WH#?n-><;Z!tHk6x_ZWr1!c4#pFz<+zI z{)GZ}3YjJJ^?tv*!@`RU?Z@47uUmqHc1+r?4I@alYD67oMXRSq*oXO{Q_Heqm?7#74 z78xhQN2$iq}!0U$AKIa}o$eC-H`H(WNd7hb^)*)sN z7P2d~OB7FE8fvqiro=rr7NvgkVq45)`_X@^Tr`U2C8pBG(G8Ay<3V6JQYUce;`Tx( z$U(m6mT1+IUlA&&edD9>SujI+a5~Vk398!N=@AP|MX5N)b^uIG`hZcMyvH?@w^HpP zB)#x$$K~iWkfELJBu0(^#CK#m$~rsgTH}qr{8nnnYwDBUZpsQynWQzSr4oai@1f?| zPAA7$`aBjeZ-KU*pMlPBab)ju8Hcj`2sGCju$(L%tI)prdmc{g?+H|n0CO?0UZ!%B z0!SRYhw5JwfPE+fl^uB74&Z)ebQ2A9)1m#Jv!j_hVc3uFwH&c0C*=A~KZdAZ%J+qJa1rl>OhjMLuNsTyh(CnOqd;1$|vNSlEM} z$F_!sp401LdT_p2+e_~??8XnxRga|#RuQazI{@{uOC}0F5Kk!R-JJYaV%VyAZy^2z zh`Mdg8-N+)Q&mM(9Wjsf5{xBD$^v%P-WwyzD*(w2N8(b-Vey(wW0Z;~g5)U}?C*wF z4gP|K0B&vjz)FWVup$geh-rlL88yf01)bC5b$=At)3 zqN1j{I+!Y-XZ{wr0DoP1Aa~UE@xY$sI!~mq&kC^XrTBA)OMzzQ@_Rg;uObiT1C)_k z;I_OcEC9w3iW{(hJeA3AYB>muu;vKenmUftg`kBBGuZb(!KfVB9S?wY&PF{#LCK>J zSx=|>Gx^iQ33{Q9KG5&^_eMEkg1ZB_sVqDb&YsXRmZQ=zV95DiH}Byj8~l@#=~lT? zV*NByOR{s>I%Gwz6{9QOYe-#{VdwAQKd% zx<)F64e#z+cl98dcR>#( z-q=0gZ@M+&JN0s8>a!O$*|Z5cgh${eeD2^l40UjtC$`PxHQYLxT8Apcfyq`ZF(jO~ zaQqw-Y!MStE_a2}7+;M$cJ42)Y!FdSy*d=aaWlv3C6G=jH|_`e_Xt{JBGIHs>WSOA z)UI=1>^;SJf*rm3Dak(1!B!eCso0}2CxBcG42K}pfHj67ufTEH$&XQ}opj|9%z93- z5PF%W@I)zoj^#WGm3LZfs%BFnJJN$tZDLW8Rd!eg4py+A_Pcu}&rU*VLZYfCl+xg8 z@-`7}U-Qy=^zJuR4B{g#6hzQa8i#^!*>z`kN*`8yYEMWWQF8Nh=G1oSXImr{y#<GA~rEVN-M10OoZID!XXQvP%Hojh}RyUYtR&# zb$Rmjzity}1^J$*fmbfC`*e@Ioz1ve`*+0zn5XZpFxhh&`o82zC%?<7@VFaLbZ!72 z&$n~ee)e#(WQwSpAq6N<&7YvJ4SRu1?o>3k=G)g^a#`y4ryZ@vT)~JL^!IyphD$?>mmgGmOiNRKXn0B|@9nxX8$6}e_hei2zD4uP)fX^!cWBUe=AI&AY z6|@E=BF;IPqZSy6h|hI>VdwXjl=r^B-sYr>Lw&yo3|x{7T{_^weEvI}-8b|-&H7(j ziaaq(`hFkmOFBWSSW0gxG8bLen-CH`6C^!vUw)MLHd;iF*hd)xUpK_&8 zgfOo&4pmg}0{}#HYU%X=ri31=`H(Lhi zy@tu%48?ic+x1=}P;5#>ZlO|RCclU7sF}kru7Scw(F}nhZu}VUH-oWZ6EYGzhtIw3 zb4}+k3G9vI{hl_WAB~J`bdLg@Bm~>kaGd;Z{C#_1cEnOVOe|%aC1#TY36sbfk zs~iVCAT?1KQsxo#*s#1tbl+f}>KL%EuEAGW!+Zne|QsE@FQ9hdiVzX?C^l zZa%%NWtucJu$Y08|I9-fE1{!UHTl{o?EvAg2(;cE)rS};t}3Nrv$VyiSgMhuVEAwb zoOyXl5XVoKBm@KlnBTsp#)Xl%p!Wupg#qXwniGdkvGC~uTJs>sqrXBqZs%o}azxGw z|Hc&AqL0gBC6UCfE~+Lh=wK{MH{=w7vXJ2R^*d$r&49?oNNO1%9QZd)RF#X@h{xpX zuINbZn*=*G(Y`NlN877$U81N)R5JEsv8R;$yxq^41$^DTp4IxD{~|im)nxZw4+erycFT1;MSfn&x_N)M^#Qgf zMJovi(RZOa)5+`?z!i=^lsV;n$T~j3J&OlT-Ut|1zcI9eL|;P_dD|=X`vU_%OsQ7h^J}0tOKdM)|yxcrIZjNVSNG0I&m<-neGV*@cmd7(J z8)(b>s#Pr{iQl~)!wWD>-pu8FqOZ%Ao2<7wEDr*^J4!wc_G~K_W73F_;>AV>9u@pN zEe*{|>&-<5tC_Im`?(n}a3J^Ia9P5{Dho)rXd7_=7Ko$V4j7P60Hzr5V_ct!)3G}j zt2v$>6phNlyAb(YahE4p4wH_brPR0>8;T@ero=&r`9pnORYJ(sFSHH@MpcF6b^M#W z=ZIn7mJ)-P8euQu)}6$TJ4><>@MZB)({bRGy4y)jJtWn{dY3yIxOrSGvUvc1eX6}m z8%YGu6yu^6%KG`4#ngq|1u&n3KtO)=<~MjP>D7VGR**17KoF>cX<1p(=3ZhLh9D8F zw*Aro#AD}Xj(qZ_&Q^5ti5T2(imhr0d~ge(>H#PL#XWNBT~=((@kav@Xu!V*K2fO7 zv=2H#f{8&;pQ`J8PbKvXNY_ow8?4@&KBvM9rR_J2RWOBhEQh>1mZ;oKXHagYJJ8PP zCQQyTVQ4+~Gf@UolAG_MVWK$9%i!@4B7ZPCnakR{CkhcmXC=g*>uu~^&@^&pF|MjQac#6rc?Jz z{W@-??$B+1kjSc#Jdpafya*DVJ*|or`^%-KCW=t4RM%oHO^01mHB@_(E(y&6-6K++ znK2d7kQq0g&YpVEXOyd@T3sjGG%6b<-!=U*UkdX7D(-=;3qi@W3)M<>8$ z3B$tr#1+!qog^!XAyM!EE@kR27A11Xgg8hA&oyB_o`_)Njygi(`&f7=aj2Go!{(fe z69>4`bGxe46Xbgjo#J?EvJ^}YCm3v*)ZE0+9}VOo;?gF?wNf+Nv)}VoeqD$9$>qGn zGHX5Z;S)*uv7FBCB`ZhLrF*Rs!@m&{@1r0{ZZ4QA`G@I#r`%;p|0zu^=7VFtUGJl> zcqmSNid>pbtq;}HS~Ec6+!xYN4vPF)`!jh5uHaH;9pzv6k{K(WZzAwQFFA`W3uP{) z+Jv#d3k%us<>V8U0ckH*4a8e3E7Iuj||wz$NObouRX++fr{^i)mOG#qmNZtHis217X})I9+F@8Q!VEXyJz0p zyP16s8dxj1uK5}+(fhQ8UPu2GAIWVLx7yso8+zks@ zuTyHhA(>{-6dgv)**`MkQHL1IeO8++gffu5rvf+*o%HnZiSRfr5?lS=vbNrNIx_{F zcv@>eUKes*SK-aarhFe&vmpYG@a*29gt9p85M6hH$Do(_b9L#TwQ%w53c^W_K_ z_)Mg!DN=N94y-4RUnJwhy)RBe*y})@$osj8Sagv zh?vA5FzU5C3~mNHTnLvSZHWLz<(T#t_yt?QV+gKhWoaoC#ALF$OPPHEZVmLsu>hvR ze%BX}l4*{~Yb@r}ux7APvLAgaee$%o;Vbl%y6?zEebMMOh>|Rk8L}GIM@hBplzZ_> z{j7zn=HE!S<8Vqr&S*U~?a>u~nGcusJ|=YKLvvJ;Gvgqm22<(SnNuCiX53@XX=~e$ zN}k6i#UQt!JH}*1t3)Z}J7Xb4!{&vp=W;=@I;)m*-{#@5;*kypxzVShbL>tb75#f!#3=D6^S&w}b}2fVUY9K1Q=H)^K;k z%*GfXjlK7ouDNC{n+lgDvpG@R3m}Wc2)U}Ll@Pwv_dv5gEv9FA3D7Fxz)fD^gGRcQ zjxDZ^&KzOR#R!A*oo)~s>=oS3HzA{=Zr#gF)N~3@WkIunE>fZTu>-G2T=;gnwU9rc zgzhW~KOS*cOS~4?^P8cuK2o-Md{$;}V8zb;=M^Mw&r(e5or*H})Q-cYQ?1Ug{fIQA zod~R&&$irCXYiPG4ybeE+Ptb0dOlF|rLzcjeH6)o2ogdJ{JgORC#0bzE=xRqyd`-! zn6wm0F|AlSTa5vuWXpz$?@y|&VvG1L{QRy6m#pwY;+d7jdT@X#lP!^+!Xd_p49dmP zY2Lj6&FArfsbZe7uTYxOWPQxV`GJS+_92 zT{K4Sg~5=-v=NTQ4OFd$KP(umJKf7edS8JEf%Dt>cO&&f@wE;X?&6eUzOczzn)1fR zoG~=cZTnY=gd&CHeCTvaPZfC{bg6h-)dqQUbJYIfXj;??1oP98!TTn}7#ZR9qD5B_ z!|UHb*KwvcqQ*T|~5*vCKxyn<0f4M;5$B5E6q%w2pUD z76-HpApc6mfJhP!2b}4_7{7I*AhY&VHdg)W@dw>D6;dwhGAz2=M-7MIawI1w-yRG2 ziZB!@;ekab{|-xN0c2@|BG?$q2`WI!fim+Zjaog=&?_Ig0Idi&Fw$z;l)B_}3TpxH z{S33*5gEb%94V*s6+jsROh+$<-hD#zA`k`iIOAOdB0>B>*|Ktxgb8a~GARS!MuW+> z#6Fh+{LSqE@b98DIb>>~Uua8Ix3D(@#AKd#KKtf2vb8DqI<-~wMkyJzc47F$d!x2! zzcTz%qC_ZuGC$H~QQvmW7}JcYMUWwNwdW`5JSf^8MvW6`dXa6Mo3$%oM8u6^1BD>l z3S8^7Ex$9QgnomFOER-+Mq>sSUS*&K_z|M+nAD(otg${ghbe`_KK1P$|9U;zp!6v0c$)59&);*bx!< zmGAV&xBevkIb!9W(;i84TAw3coyJ+Rl-c*BsuWe}QHgjPDQJamy}=dxS8xe7q$-CH z@0d$N5ESPQ!1)n^ZdQy?B5CQDJq1=R8T){O#?CeO>==g~=fNTqCFh^270|Yuks>!u zEGD^5?}4p%Ux!<< zm!ArR#W~n>;J5*Ow+D@unwo}zVTb@`R|UGP{6Na7ood0(!0(!BwSxx~kmwR;Z&iH8 zhtTdgbF{|c3Tsk&G*+5z@ZJIbc|hfXJd2SRJPi!R8>-ISMu!`aJ<7z7bz?@2D{kw- zISPJVT0CIA@=I18s9fW_c?5OUuWT(h-s+ub*|?dr9vYN?-@frZ3H56Qn!62P>?~~F zcIdxu=2aCv9DkG=_I&(TbxvKTAYYPAndi9+oCc^ED$vJ{sF`tG7jalKGc!j;;i$mK z)9}BhuXJf?!0*I)6q}!(bAwFliJD#9h1Zz2n|gU9e#Z$8 zx@bj&gwnoKLnBqls{+ST0z~4@3dJfeYZl!m*o$j6^Wo%33O0Bfonk3Z(RDhd z43QTG7qY=mrk2~>^-{L!?RZ$wcS7Mxls%iZ-9_T##yKm|pdwWN<#Uk=9!)^$4({mv zahHt+k#bX?n3zZj?|+24(Yel1Fd2i_S-^~v^*b4-f;!H&n8#BlUQrrtk^O-7+g^xP z3|l->!qO`C?~{l~PQ~(qonnt*Vnl@!iXTp;hQP+l4MYUBr*dW>k z=SW52DgRZUJd^C~C_-lqzIRcy>m`3@NHL6^jkhh}{HbP$o$Whsn0FsuWd9g_IG3F0 zP{U%h;O|xvu|yN(nd}yM!NqVlfcck!h@AO^k%Otk=|#Zkohfb< z%7qyjqvb6pH|2+nW?vYo_ENnE>0|PCeD$s?sP;i zWP+G3PJMDD6w@7}H7&{?dk0b-9`$HwQeyB_5jmO2(K@>QG-WffSz-V5&YQq7d9&R0 zyXZW%JAVF?Z4XfW3e!>e&sUoPxPrwyj_TcTyC;PfZe0RlB~ytCHSyL|F+S0B_{w|? z5&ehOUhkk!u}Nf#7b!w4N+@kDtsc()6#Q)u_t4MZL~O`A_th7q36H>utJnqKS$*r2 zhFERKhp?&Lw(_yFurM(*^DnS_ngw?80R9$0sFdAH;nHU7?=72Ge4dNh)TizK*A$)?4yO}QhNLV+uKIB-xXk{`+UQ4Q?$wC zFnk{f`?@~fEz>Wjy6U(-U-?g*0}97{U(WQ|b2zBerpEa`<_l-l#5FH+`MrQ}eC}BL zpFcj4QFE)_5qrpSKU*XSKUDn^gTg3d@L32{}aL`uZx@+0Pl{I^vuZ0t}x6Wgnub;1n3 zB8HlAB`_wi1^+%@lu5A3A;sKDX?9+pz2{$nu-tr9?NDsMUzWDbaex3?a6!_AIj&S0 z>JCL6UBgDDNNujPDM7tXjgpAEk}{<6o`EDA8IYwAs%pchdif`7q@M*_f(u4LYDOue zM6GmReqU$e?3v_%_&~j#^)V28n+UkM2qZaQDW9q{a8%bx!M|Yjih8NaJkj3*3(9j^EzzH zcbt8LXM>UH(=pXt3bZ%^FIkF$qLWi8aavpmJdO*(Tp#+XLwD_z%Xrr$;-=66S!;pu=r3Rl<;PX zNxx;FiS}`jo=pER*p+E|P~;cv>wh$EiSG~;9Zs)c4D5zf^N00Lr`K+NU+ew=dBvMz z7ZD85zpqf#CFl4w8C*8vQGMoC2G`vaQvOc@aHSXe6BoXs` zs?mL0CQ115z<4#|1{FB}u?_tNUTLFOQ^&Hp_q z&FTr8Y4q{m+4|Vn3Lq5T_U{2Q7G6M4_Oa7Gh}rxw^EBKr>0!L5ND5)`fTg`_aR+@7 z9iK^GAv~{?LZ<%Hiek|Fe>c)F#EX?yhrM~#(u?Ikja`jCr%e@t&pQ*{uM4%0>&+ix zUU;oHLL+yR9ow_Aj8@#ImhpKn-M`q#}6 zGrf3NNe|0(DR{_s7M}nWPdHR6G?D;L4?=SJGOc)#n-1&2#H%4Je3$40WX@Ir6!JHu z&34`9qwP?7B#F{U3-JW==~MV->S9%}ZB*V89Ql2KYIID+uH&KkIV4hY$A%1TgZ1zD zdyVIhzU$;a6Z<+XGjX`(jOeK4#8}O5hDy=`dx}oBlixG-GzxO?DmFdlvF&7KbaWlM zqPec^?G<8D^j=HdSIws(1E`vhB*582V}BV9e>?>E+wMfI5{S}_6s+ejxI&}s=Jz9S zWW~zJRo4%!Ok{@aR&4Qo5CM8$lJWy8djL}5$+(#{N8?xvX9qh^$( zXT=3!&)bt_7v0Am#{10bg$Gqk%z=!)?yl5Ytm>o#|2tvLr(%F{8_6m1jK>x&)^A`s z8k{Y8&$0lLEd|#c?pQlCT^bB*>neWgG ziRFE}M+A;G?=b7O@o*QpnWCZNFbLR8UAKIm_+O8Uy1zcIoOCmQpr-3g;fvt&XSbV6 zJ5X`;b@}v{-Em)PX^fqd$Y(Fc1&|;w&-p&b^gkO43&AoUZ^x>7RBpwTUT-lNJ7M(X z_reXa1yx<2^he~PrH$~!rE5o>9d3F?<_;%wv}en%s;YjJG+U2*a@WqAP=7wQxA@&A z<+fi7Z@E^poUsLrrIe;5$H*8I93piNA6ar@t{{I)rtJ{9u>dcS1q;CE}$qc7ED%fgGK5Gj0#5En4TJ}c+ppCsj1)FG; z3dt!c!ZANlo-t~>KVP43_JrH@(oUM@6#gT6Fu}Q-mup^jJ#GF6GflQowQm!|MujWI z0|9ki@A7&AG?GB$-xU>_fQ8-++JF4JdVm`iqaJ*#d=8I#w$}sSw&O5TaS!g=+M1X8 z{brpZxK!Xz3+Kj=z3WXfzoiZgKL7TRp(TT7v0UU>I+i|tpn+x@BwWya98v5btBu9Q$J(tAxBRvE9Z}oAFQ(Id)7=i8 zwa^+d-~^ShqouI9Vu?zceyVUX62yb_Fl;+KWuK!NtFDoPq&b%K#gL1Wbow6~JNVu% zCgxc3AtIrrt$(SI$w^sp5V?aKNfj zZR|u85SU`csgW%;F$0?eoXGnB8A>&hM@i?G-h-ikW1vbBu12;fB@sJLq!CkuH&gx* zfiH^Yo_l!pW1O@))i%QVn?awDBI}XK*a8oosAvF<$SQR+4aKyPCM}{zP;L`LeXq20 z+F9_On^in>ly;&^!eM_>ArnCab`%r+d?TT{#dI2(oU;SGszDMD(@{IxPg9gK?UzKP znjxLd_Y4E(_ML*5SWikbbBuJ=Bg)K)TG|G*1D3WUOb14KMZ6K-iEW>n`LWbuk<74ZKf4QBDyTkkCn^`uq)#duic9`*gFuR$8hvwkvl3t$A zVrRqbtu;l83762Xw=vP@M<8s)76-}M5Q+}U! zK$|T0I+3oi=)UxPz>6AByV9INF!*W%XYr9gLJh7YF!z2?&f7nT!Dh9cAk+aH0Co{F~OpK58053h{R( z&iB6P4alefI$nEuYm-^ABG9+wg(UcX-52r=AnzbvQhsLwkaEnwhCskUTMWhZKTb8a zfJgejU-ZW|cpGP(@*iV1=mAN^;*9AVBbAID&v3#F-?~>V6W8($A)|5x9)GZSAViZs zwo%}&DWlvDapVY6BA>+p2zk0awZP!BlD%zV53^I&t)CasF=pF#kP2i5@H@rqBL_lq zzho0_nqUtdLNFf#mqQfh0kqu(k-*m=kgG?);kgFh z(T;$)>MtN}A*pB3j>6(^^|3yCga@^-E8^T2Z)aV`v78lq)|_LA&iq$Jsi0uv7nD#b zW{9;Gr0~c`A4v3n3CyG=Ko|>q$=}1^>L9Jtjdq&q zIb$S1@B1RdTqgfq|}#I#tWD}KkvOx4p%;&e zi07^_Hof`MsjWO?1thnumO3{V7ol7!mdRpb`c)7 z{gr{{J7qCEx)H!!E~*P$aDi&rw(WH%8JS2P9#-_1CuYzM$K0$_ZT_2a&4sQ}eUHz! zoGeaV`x(fKoPWG6)@HZ)+v6FHK&-vu?W+4L@9QP+fFI5`9STE~om}zBWn@zR7pJgS zZ`9iklArs<9}RGy{0oDsZlEb}-!>5+*>7r6SI#16agp>IHQJ__?A^xNn(yp)V-MO& zouTMllPdH)(&@QnoDNB>+&mq3g;<%d`R(ueR_$%A(w{%W+%3nbWP+{4Wg|PolxoM1 z_fP$BYy4`oLX>;bR}pdI^T+N!qhk{VT_QTgXn_wZI5vRj>3d+g1zj>${&fpPz>XD; z)xI;{^Dx+o*s*hR21zZ~v;9$PtQ&A7Z03yzJSuC%VqmZ z{cjVATo?r5^keV@yxy|$(iK`@Ep`HGALPw+)BwIyC53F^h|idehGitxBI?nE&Il4U z^jROB&Rv!%m5d^fTmDOY$Oc(XZ(}sys%6m#U9dOR^7jLTqM#< zs`_NNPzM(h%KpXLI58ObB6^=H8uhY>WT2+k=Qs*(`(4{&ZM2Mr*W`Uj;-t!n+qZI1 z$*!W!res(rmqn&ER^m<(!9o^Nyc^HO6(~0md+btjtFRt@VS4!!zuT#P_;O4oqX*fX z+b$s7*a&N=e5X_|LyM#~0-w1Uyk;K(S~wBJ>r;Qm_{&u{ZGF)43G2dPm2n5}d&VNMqqpJeM&!ASJnagcU++XX zeh~8o+zx__N0)CQN-16CHz><5Gh~J@$MsJ zH>JG?&;njZi`gC*#e`xyokM7Z#6x?+E$~p_vgNm1VRm+Q<{+CX22RTAajUc*4HR8{ z0V}9wrT}#c>OJ(?W%P;}unYgzFo8_koGBEK+P(rpnHS~CqyXf?t9KBqcgg4Naba=M zbmJV5YD!C0adB;50o#Z#kVL&d(WYmZR!9l_bq6rvf-(TTDL}o-x6ORUyGMAv;k(3# zP~^o>=0xMV)Ek12qIjI~!q~Ps+M+R5@QE6Vj1Go=Z{Q-=B+n9Y$78WOf!tF3e*9t4N_TOjk z-JV7t7a<=ted6nesKw`HOnFD90v}(e;)rq6jDc5`~MiD{{Jmt zjL#8Ui%)j)abO5OEoAAn-l~8SAU~O`7k8!`p*{6>{KT!ZvEt1<8C_g>?9am1VWfr9 z_yOMs!WUD(B}yN$HIyG7ykm72i!S0(&p|c8r_%KZ9D^y){Z(i1eZ@$6a0 z;tPz7N$w;3f9)3WmL5J$P$&3q&jCqAq4TpwG7wBzt)j|g=v4Q3^&$IGV77XNlt3NT z245@3G%Q7%avoHg3@u&YoIk+Jc&@i7Cn0dj=^|PWEGM+Y$6f@fmi_tzTS95{pop-- z6@fxwH*L8Dl$}ah$w{(8vxy^Y*0lHV=Vzx1gL@FQo^!h}^ZOb(bXl*ZMHdgNw3l$O z!3}&vlo*$-wp_COwJVY^H2Qr$qoU<)q9i+&W@ep_Zy(6-lO9NO+;*e$EpWY)e7sfia|I|BtpeK|$mz%WS? zN^jG|n$-{jT{O`L*s!|J#m(ah8n#x35|0S2u1xbC?r+;Y(>S_=g~aNjFLP#NJqkUh zU@iNNd`NW3cLi-8y*GWY6Z=l25^+B8e0(zb&DY6W0 zV%PL@H{%d>3(Cj%eyuQ2R8Q=WKj9ijktGgIlk3?HmDaqm24|*dswqNGiDhBOB!7U~=4z-VgHciutqxrsfpWs) zH~;lHgYa|uveY~t1cyeH%it2Otk!8MUmZ!YvW9*n`dx$iZ8Y>MI4Xk47?@4u6mtX6 zV6rvHeBh(0g3{28gtXUBwDNUuV6k2mv$+B&x6JQ+Smi0~aY5C~)eOca#PxcL0qXaM z7_@neRL!e@nQcW_OgoU`FI6C*PgMxnKU5tg-<9~aRQ>xm9RovcMTOJsNsTpTnzo)tuB+@Bd`aJjgEo8ho+1_rf8s+YTwKQx5Q{LNWWh4(FE3 z2po0;^T#JA#Zojl4=O`|9S7CdpxAPp2z1oIZYWX8u+fL?j|)ft08$Y;O`?))ONAND z5|oi!O`J5mlV|RTfx|qE2DwIKHEZ_q7M>kxglR#7^D6yIz^xezj)i!(6Q*zsa(ti3 z%67aI428|$M;L{t8a|0h?_@1lPdeJ@2njN1n4~ui*$T;=4Wn40aKJKClJH6dTy0L{ zwW({=h_p11MP|CnO`w-syYg6q$_U(C{Z5`Vf?J6kdRr%nu8JxdT})^8-``X+>O6yv zOaAHkK!lly&v<*;p{OSwO&hIETSZGvCwua!ar^rH`JbR(m*>NRhCafN+}2b7yV-`q z)6>mwnB#8~cD_k6H)9MP_ki7-+W%wyNI*kdn-_?d0(NqTU%&QR9e(ZqS+-SGol7L2 z+H_sBiNeg$R^8Az=QYt&cCb8<9XmTc1vH00Hxmz4dOpAj$#fv*)-OkFeMfNf0IeAXd5XQgHyTG#R{c)yG#PNHlG4F$J+1CIem;G%#29LAS zvScj>jHm;hr?8;F@OZkHbL+iJI;m6+pi^Mwfz$&?ivaSM2u1JR8Og7v`!+M+;`oj6 z&h|XUwn-Nj$_8H%^OJg(yO>(DA^fb=&y_S{gE#mQ8M{I(kv1qB*bTOCOXgPC`u_~@ z)pU9o5d;wlc-OVPAiGDC4`SSg%B<5T4SoFGAj!z~x5y8gDQbK}g4e$$iX{>R02M;W zYhPoVULfo0_+fn=N1L_fPkKtwvS1J*-;oO=Vvi*t*3fxfqxIok10!N&bw082cwq-7 z8*{iKE|%krz_6K0BR8vhOWlZ(QOnQHo^n6T+$JY8=#SRlq#bwnyAJkFvl}}aSsNQW zSUY$-HV85_3^C3*oLFIt140o@(>W{Fx4uurYWlMR_^`UC9-|qo$!*9Wi=io3*U1R#AZCDf5Jb|ZmUGWF)SkSKY5*}s82Po$+=+UB7U#_8PfhOTg6~*zUU|W+&QeFqD4{Xtojq4h!s?r zihm-1a8(EjmpE}by1>wzYiyYfn<$Go3hsNrU7b1Mgm;`<<$BXyyC#w;N+QD9m{9mn zD;O$ehBP-Y&woO4s0a(gJ)f%KLIENg_d*U^^ROA(_(3T9TGRIn6w zB1Dm|(u(caLZ~1Zp?n?E{DK6JZf1VXp|Vai`Y7TpYz4Jaa@|iK-Ov-owTs{$udgah z8sAGBt=5`OlDZ!*zL27afOYd}p*>_}?xuuMH@FHhjIg<>rPgT*@{XbFyknLw*5%2X z_bnSK&v_R1+8Pt~)t|FSBJMe>`z7nr)+Y$p5axCNzm(inA-ItE`?2Iy=rRgv*u$es z+LDIyw)dKCOj@7-XoXge({qC9RLzeMT2ToGuIuT)GGL~9`ihL(e6H)m-Jhpe!fViz zz#$0o_tus7(XOTX{k=23?=x}K(-z*W{|Kk!eLii?E2q+-FdB63`?LP%O!mB1fR6s# zYFdDJ#|4L^KGAgIaaBQx>+`DB75~wdfX3F-@(+F>zbfnz8g1ZArHuC4JmkDvd~=lh zW|q$ioDpvDfWd&(GcinlaGHX$1fg$zeHPPE}ig9?o-^{_Ane&(EEJ#dsK&GP@3- z$oRePAVs9OBc7HCJV+y}HlDe7fhBqX1o|sLZ)?)OpX9xQz@tcb(ZZCvhQ!igayeCV zqLnyXtj@CSxF~qq^r|hXT*63cD|de4KLi(VVzqy}KG8Rq=%5A~f2)HUQLK7llub=E z7@y5fmAhKZ;yj$f5bz#>j6$B*W!X}#e%|7&Zs|FTYv1zUrYrx!H^Il@BH*letZ9~W zcc@*JubR$z1wP&B)y`AMPRK#|PHslFnOgYC9mw6Fsz-e6+%`c9_}UA3akXvZO<bUGT)+cam*yh3a5~Y>lyKP$?MSoqgUv{TZT7_MD(dF#`|%`!(Nkty>ppHp-=Ht`lt;@bGc% z^!ZA#4vZ+I_|K#KXE;giI)nJ~i0FilM&z&}7hM!n zvc=|>sR@qh_TYU6QUTnweT?L)!qAwCbf*d(YHW5`N@02}K^oeXty`^%@nzcO6Gxzn zN#`+;CoJ-fsA>Fn|1R-dr{W&83uYiLj$$jWPHiKli}bTLqp?yhBaKu~?yA*zY&~rK zrkTC%mZ49~B(+$BIu}3E+N#Q&WnO;Nl15u=l{|KA$bnRP2AcXQ3TiGyLlYQ_l$n8V z$_^Y8MJPxpTqJZlXJ=}!B})563|? z%qiwyBgA*GwaFQq~Dn9FnHn*g~xv!Wb}0a zg2=5^czyo8K@7lf(AF{8+b=byj4;YktvljrcM*+LJ^j1lp~4ekqrt)*vmNJ*7pnU{ zWGbjBfSKYC_*&$Z-`CrJL>Fgp)+|4unZX%oe#imZDGU%YON^-lFN6@lH^YH4Kr9+3 zXVgbq0EoW_P@Td)Ak#yxKRWNe@ablOxx(U(q`F$S<1q8972p{BG5;*7M1puNjAB>? zez>E(Wi_Vni<-mmOBBTx=PP0+nEd~@0F%ry#2SRr_SrHs%Z9O< zzGATc-M5I7LKTbW$orOijE7x3x-$oJHWF$az)DG1B?Qu-P((GFg)D82tn-QSDBBj6 z`_Jja+EMDB&zP#hbI>GI6;m>ziV-mkJSC_dMdT+gTK!}PmbE-bEslBuEPiAH#F$+) z4D*0cVc^PJv8d_i*{l@K7;VVX9~e63L<9vE0Vi9^Oa9>8Wp{C>_GI225fg`%o&g42 zbw`lYSk*!SJQ6tMqfV|2;?TqTK>6NInqPaccc)H4+{>t8L9%I-*1zH0CB^U~ zo%e7oG|dXTmnQ7Um*b-oGmOv3v}mW|=s6lut$n*DiISLN7^;RmN!Hq|l>a@b76p^0 zshsNsFa3VSFwSpI@!wT07)n`a&5%18Aka3={B0YnZOJTR=n7wYj24VPwnkPxQ}U>8 z>=aSa27&!zU8}~tYxp3|W=THB5RFn!i3WpeM1Na9JD$5;U}sJZp>cNOIw74ZXF+Y2 zyu_W{nCylwevTln#gY`02ezO@mbuC@db2Ig1Ia}${h0PJ2EaEz{|P+aWMehB0iL22 zkqkLupF9?mStQ@CHVcf zagygOSyf@=4`!p|^1?E* z2MJ~_o8mbml_YQ(@Vcr6ee(cP#=y#Zeg?Uk)El(M*t*RM01sDzpm10Wwt&O#z#^tk zNf^3sRn+6{=D*#YN~I&T`b7owEaGaKjLa-E2W?)T-kvgL8y5V#>^*31*iAd-mdgjy zTmsa`AL3+Ar5+>efxF1?7%L)q@Xki~&Z32M(ZPF4fd&5z^&+FB`-u3y(|lhk8;l{L zjrDsXoA?QZ;`P@*>?Ov{qYZ_5^1^b*)ftrYU8T@Dgk75qWRvyZdJ>i1kLU9PxI51_ zsoI#^>AkYF9N!mIoH!W>1-qiu1I|Y=E6&K8cg*_u{EvWt$_6YL6bj{wj?04x|Mogz zXsAZ(sfdnK4jZ}f95Pi_9o9vIFl=J))MxvZ@|i~4^~+M1&CRS#*6`&{#3Jx%O|Y#< zXh+Lq;7y~64|};KhPSgVHUu~$i_1w^L{7X0Eh`Hae?rue(L{#AqdO}rjUkM|sY=u% zBzZKT$ev_rLnIyTiW!a?l!EK4*22U>`EGMCWww({Z^)+im&dl~Om4!fyK!Lvd9SlR z>3$w-&uyl?0}hP9>S*cdJUhW_g2_uzW}aqI8_1{DVXaaLdgl*5MOaTcZt)BB6~k%T=tuR%d5fj0VC7a-qU?6|0vg zn)DA)1$Q*I?3k^w>j$;pF+#yb!w~!hvy^fFK9u&>d-*LR^YS`V3Z=OIU9<;k&Rm9~ zag-uCvThPVe2>(-I4s^w2{duXe)Lzz zNP)6yU8F6Av5d-`i8y7(XaZwi8eGuQ-aV~>1aFcIa&k^h)N$=VRb5Mj7Np+eq3DZT zE~noNSx;h|ZIuR_}8*m}E#Oab}5*QC6~9T=pSlmPepc2Cbrg zaDiD42U?~z#qZyrx$E(c{HA5cdVcu^uV$ScrSQ@xtMLw8@9LWU%eXFs`4_F(JaSg1 zVUv@)HVHL9HdQhQ23QTGn9WhE4zr9!$KQB)#E8=ISm2B?Ro`LvtocEI}UD-`7q8!0DMfMG-i*m;L@)Tf0S&7m+QASoAdk z#R|M8$%19))?4OPkAbfJjjSPkdaZ+Qg_b_um-ytC=Mp+1wsk}8bAcF$KL3O>7gdw> z5?0%$a$+S$Yo<|p4Ue&}x$yDEAN`%*rkYm@rt>aCvm`#!d=T(9){OizLd)-nwwmP|DG#mkizJ(jLt7*uuO-;eWT(%nuKV9sTIek zL$@ATB82ODz_6x}YD($ez;n|<*|CuQk|K5t#1A1vX~NcqHs{{k*tdl;rvQaqt9f$QW*Neb+yt~2Em z3tH4#80TeOhWNR{i!z3(hN`^xSeZ7$0J~aXO0%6W?cYWG-9CPK@|87?0+UDX6mbmk z7T><8TqiK}9wg*JJ-t$KUeiH|4rY`Z5z9Az!-)3!Lnfol1Ln`2DEu@$6OK;yslObs z&F*B)aH7ER?d#{M6h`c-LgryXM0)+vAITjK!z+Wp`OVS2wp$5N@Sy22A`bV>x-ntt z^(@*uC$C|HgJ9)k`;0Zaw||*9C0rOap27|b+oQ3jG+xl6<_MXA+W70i`TbZak-3L= zl2{_beSSCM?kw9hyL`NP`_o-~n;aR&yES&@QV_OS+eyUa7+9mZPxy!$GgQj!JP?)9 z&;DXrs>0^W3Ly=Xy9uu71R0%|`4EPm_zQf?1C@EST2xoX?vNPFqeG=LR6DVYhn#b| zQe!tv(Wr#K)JnI!q%ePB*B&_9nyq38WW~V>uy%EeDR8lNiHOSeUAcG(gd%5*hpFQ@ zRuGRU!;3Z>z&woAtt*wpj{clUL(cynP3II{SGz{x*hXU;jm^fk+1P2=*tTukcB96& zZQIFzRxi#~#>ho>#!mM7-tV1rJ~MTw(Z0V7jfEzNmc1DL*B|nYM?_WYi^b`fFX{G% zSZ21MpEUUXZ7q|iM?tCJ&u+zF@H2r#j)h$*Y8M!aj97#Ng{t|%=}x>T2}zrE^l(gr zmhppWCFRaW1G+D@uRk&4af~$kqvOu%NV{}NQoBq(7O6tnCs3kMkp9bAQ`G-?nC3Pr z3rQ0&ZT?1GzuX!+68Zr%3-hP*hrN#0fg3y{nE<(qhcJgW>~_81-%nS?Wf!XvoGF1X zLv@&Jqt$z&xMO`*dWF%)^t6e0gF@H>B_+)M58A>ga(z4+I5pQ!86)59PTqTqqvgnh z!vQa&tdZtruiF}7=ZC??>b>#F;t8(_)g9}UHay<_dT2XZd#4-bXA5zM>75uRl$ zLBWKi9j#sh+Arw^r$8Pt$Z4KB&-*S*$Sqp802`=rk1dt46CAviA}7uekKik7@zyKy zK&@K@Jb2MoH7%*6&evg&O4DNqMJ+F{L!`H@a4>xL{uB%Pf=CGm+*8g7sA%+frK|QTkm}ee=Jf&f?xphaQBBk_J zFAQQbXMBiW;WyI{7B*8ttLCbe*ta8*xok{tY8Zx9O@RAVBR(P(g)%gtJ7tUENJ+Hr z_T7!;$MkM^+xMd|5_OhiF4KyhaGr^&$w2_ThmwUiP{kc$V&d^O*D9l!% ziF((ijeeebg<#t<+`tKE!Z5e-@FneRwZ0{?#sNVDQ{wY;8cOvto*$$E+i%a!Sb znNZ35yQ9NM(1g|k`WcSDFvOC*il{4pq?W_Agu~7oWM37KCsmMoLVx9q<8lzDQ8X-CN;@mJnwa}5Hji)ss8q3&VEkz$vmNawD-|3 z1aKWWQ`Kj{{-Qa#QK@HsZAK43&8GRmQBX7=MOw8IRckWTVjCO%9IqIiI3`Bqo)L$v z|BVVOn_v%fcZCWSJyNvokA< z+z0-~<6^~p@Y1!kXU6DG!~v}C{@@gZKBZL_9u{fU@L;h>@yo^B)w00&mFch*S zzsR8=O1bP8oN5AK#uGv$$}yzSvo%?h^(A7_FllP?^Eei6qMsOP=3M%$>GA$sV>sEc#$U4S%uPsd>GJ|#w*MaB`{98uY*J5&)uiC0(B zI477NW}8D zq(=K`V|;F@??R}RPqWI7()M9>(t0BgPhRQAFs@)Yx$rHKZK&Z$D6>dr3koeNf$)+0 z#7fN2x~#*bC?-PISB9Swo$VMC_m-#DOaLy2`F*!9KDAZ&oRSH=lY29f@QqRAnqKQr;4|US}Y7yYQfUf|i7ojIaJdUcLe|&a&{Q;0)$ODM^WCpvz2XL#f05UUiJI%}b z1G@923ZbFRnahCS^94Ak2Rs>-&+G8X6z)0W7nk+Dy$44OfeqQolP?6 zAb?#~K7w#>Zf@EE*kmA*vRhcU2z&TzqYjoU(B$Yh_%`P+2pg(v7Q{M8K8^17icVuZ zuWi#c3_r80?+P5hR>15*jsRaB@)H>`0`d((oPQDkgaKpO#rZz;k3IFmWVJx;2D#%$ zT_hnekSdi(=}!QY25jsRxf*|M^6aqcr)V=!VIOlddWT`{thvBXUcCxPSEiL&F*|wW(w8YR zuZ^FpJRUAi@(mO2k2%c4Jtn^|v-d*$=@e48rrI=j)v)>FY1yf(+t-l6u*Bw$-zdD}@JqlbNok~U@kTqEkCDXKOkMyioPha;!Mcf5LBAun7wX2?<#-5&vm~rJ zqX-u%vMlz;Cl(=Y&cuE7PgQS{<59S~x<}gJ)RTA|$3XA{%t7E@SZse8N98hZR9vb_ zBa8IiMYN|WQ$D!8_&ehoCT+!m4f$wiC_>q|h?jaeKZ2i=-@RfRdW=5Np<0B50OIzE z-(_E^d4l^j44Zf)dK-wF#m?zozwOU2^%YSM;&9C^M)wA#1){ygtpMYzj#`r*$T3Sr zO2e}j+$sFM%;k6Y1}dYu$naZvTiIT_pweqq8i+|=qs_?Tl(LPOFj$?U*gZ8Z)p0`x z20O8hun202LX%z~4Gp!OG>@kq(Vdo4AQ~pVf`0?PjU9D|4|VJN^JZFFS!6RWCb0AL(c0PhA0^+EdRZ{VpHb`{Z$X8-S4aAc2G;;M^Vm zcfP?61fC9Sy$+!TU;6BRbwJWjpeyj?sKfK0AzCL`H6H^0ZqSXLOMvB=&25cEjA9S< zaov6V1-QODlr6d6FB+c#jYdP?{V><}gNzB45wI%&^h`{JzYrq^jh`o>|A7_L>vceI zfovyhHFyF!0<{?+O4{ zj+T3#noY-3gvNaTd;aOy>;))7`c9MVbQ(25%76tbi~nh5ACO7A_G5T=9szInhIy{H z&)0o!AUn+Ib?3D}FFG7Q06C8lc(d3!I0T?gi?u$FsmmY3AFubwf)7l3WOC4_vW{#P zLD+7_>PusHEO*cfxS7{27IpNe7^1|}Ia&7%lu>Y}$u?K>=bLW0W0FcFNV5fzk~?W` zWg#>oFIhEA8ckKyEMj1acg1BQjC(oue?yR|@B^Ol#mna`BbkIW_r<#QjL^}jCuRLZ zb(Gr0*wGGihQ;A0bGe=e$<}(hl1Om5>Vh|JG%t5gn?I@N3sgmE9y5?7xYnxRxOz*~ zMC8rTd3;1IB}_m`DSf`hn)FkNRRkML)$P4=+fI9;`w%{ zc^xER)z2BjNP2zDToQ4qd;U=#0Zi84wEOidk zp(M!a?~!39!sM1n*i7Wdlw1ZB76}Oa+PaPc@8tqrO&eS)C@RZ}C6K$>>F<69$2*Oe zAmp|mO|UASqp~Wm0Nnfh08sW|rw`osK64u%2pYz{i~<;XpdGKH1LOzMF4VV$f0ef- zJH`qEw`1qElWV`HE?sN*UIR_7`rX_VAWHiKDsM828!u|t&gVVTpu#_$+hV2;_+ZnS{jBP- zMt^Fcw{AF&qe|d|vOm74{PEsvRRB-y?DTZ) zqT#ssi5v6D+r9rJ?mCEaxO(3ceYV%16OW<+(-uzQ4vD}lRo0RguSOmg1!L|W{+{BCV|f>G z4jhFS&Rj1h6eC0m>!!|<4vUm)8tTqSZYW5D7L!+1S8p++nCxH|K{NjZR$(Z)q$Ye& z;@?y1gvXu4=JJeQ(DS<~mh$6un{B3+@Yyo5?7KC1*q9#1fJ$cS999 z$a#GzJ-#GHMD{|OtR*nUu}b>K?k?PiaQGPLbl#9MunAGk9S`5z_Svo5G}z4p|C&Fr zbVNu|uI^O8)bb*`M}HTAh*y~CFdKsaK{nsR;SPQEr`{SuB$)6pE4b5T%OJmsmqh*5 zMiB3~{8?ljK~*1^R1gKXd%RJHO?g!=96^9QkZK=}0tMkO!&v4O&v%PrhK~PgjmFI= z?I2dt!av1*zWzSi z3KUGzIQx}|rn58dEQyy#OzVt4RK*RbrNds7WtnLOPLL_zk1yoj8t```fYRR8=bL;J&$RT^7f?h+n!$kj`;n@KrpZmWfRUgRGW&*+7y-3C!KKH#?pO--3 z>5qf(XZrK+D>RTEeExbq{O5Jj0Ft$gzOUo&3>)vj;ZeZ8>4M_u%SW?ERC)7$qsoxULMLh5e5psN6VTF~po-XhC@TAl8@ zUiPK|>oh<$IH~KKtC*d+Le}&kUdaNAjv6TC7V(GF(s^A4n7##JTYydg4ZE(NkIVm# zaLAgc2N$)9H4T(9kewSy1Yx(Ut4cNP^`TfIM)2WM<;3AjpB;1W5lMz~JZDg|fKj__vrhDx}rY_E+Ts<^Ou3n7;4A)RG?SJT+2Kp5p0|4)-79Tom<5N% zD)oqcm18zA=I_#=D$P_G1PQ}E03 z;#@;u$1>V(ZeNdca{=H#z!d%=;t33u0Cj3@ZS85pNnu8H7t@)Q8mU(pR}q!u))_ql z+kZZFTJRa4xbeKE6O1Kq;a_^#52|eDy8D@s_~VM#`d_b8ha!+c+XP_5v(&-5fStw@ zD8A1JaJ0wr8ElpS=sZ^NtBna>7hno(w@k^0sXbyar88TXv|QCmHkv!Gr&Kfk`MCSw zfA%x)y-(KA2ZhNi2P@74uhr}P#^k>YG>IR*Z(W{Xei#3WX$(2_mx2FA|1ziX^#+Wt zorgdo2n^w@Ufo;nHLsZJ`y%jb{ORm;Jxj85RyQi1y8~qU`$|0DPr$5jn_*q^1$+gC z$`|7GXX9_~Y2DUqeCQqc*TQw}t9(|P_y1kMfA4^?p>lc7b-C*D^lG!i6mNyN_jlRM zKZUe3_sg*C+!v^|N+EQ->2mJ`G8vp3zmK~sx4hns0TTS9a^<^TL{u=f9_gRO_HvTW zRS{E&^W-jb+HMjErl&V6{w)cV`NCKM+=H*q?br1`FOh#%ytiZ@3c+VV2gK`n#q-lA zbN@(~n?J8xt23^-3f6TzxSPIFV?B;4_}qDJzi$<%>cb5oV{?QNV*9kUWR8r%Pycy2 zDMSYUcyh4??RgzK3nlb&?hkSZgi=FWZTNNh20Yh5f($OGZM`pf%sD|m{#Et>{_8<& z3o5E?=LD8{!Wl@wtKjZyD=HMm^Mo5`4V3Y4ZrBe{3Er0eu>2VTp9w2po~G7=0dWg3 zh8u~#ZbE^Gb~^BLi5YmzRnJAH?#qV(=JPi27cf|g!RC%C@$}c55d~!4fXbSV2oC(x zqk<;@-;VC{&shS`*k#Zk1bYKl!qW9`*e2re3Nz>z3MpfwtC;~68h%(hV~2m%GI`z5 zyj&6JE~3V0KFDU7kYM}r`Axdo&ESB^F<1wYCr^KGzN|@$pZuDp7gDlr0AKbr`-Bi) zV3-LiN>JbTWKfdC*1JlUC~&7?NB4(XozX>c9m#>t&=b76!!P<_W_yJcUsxp{=kgDP z@1CviB1=uU#|_??)P02rDn91CU!*b%`S}nBM-GX#KNAgI; zaAFyK8a2i0AgK=x4F>oMpTR-b*V}ns_$KhL3(TJ^e87>QV&MGmdGN1Nw-;z0$9i5d zMwWzH!dTHTAnqFgkodQbs!}CC))qwt~a{_Li@qGKolPWvBjz%U`qhCQ}T7I z0E`;y=#c+;13bL11H9SgA&r^D*M1QrO16#xB>nxW^ZI2!7P=0E$Vegz`xanLfO^#_ z{4?%|MLq`x%={;ZThMD0SjO#i^h1bFy=n!(g#!m{y~!w=AION`BYdsrWjlx@A)n0& zuyJW`q@+&CWAZil;&THbz?6jIlgI!G1|#VORlMt~Lm;^9_ps#3Zt^DCqDr&Peay%Z zus!N{<^Y`k-KE(sJRjvvnS<<7w7t>LL~a&W&`16aaviNKHHP48&@p(tK;4$%jRo5A zFfOP@-vYFL_uCqLn4h8B-;Jn(L!$GJ+SaGw>7Pw5n^uZPeMZoFpIE6snaws{{@pDr z8+JkV*-76lOx9mXaUGidh0+@QCb`ZQZ6!CSZV_ZlfN8`&*ZT={{5XQH=B0PJhj?-W z>1`P{o`5KVAq~KnL49pG-`5J>#m6dM_CJRbx<7Q?3pfFP8em}eHqUZ^s_U$7_P*>q z-_rhsVgniJaXy`s%j5)>XgIW$t*uUf{=R>_mQG)uZDmz#X?L5qB2RoRlnVUwp6N!0 zqUAGhJD$r86ME9;!>RqgY+mkXEYj+7yG4~?n0F$7^FdrqrPZ>XRp~nt1$C+`)qks0 z*GZ+68LpH2yzaBxL4$k+ySTF*5Ig;{wG3Lc<%c z6K*80|DukUfBm7N$04N49Y|Wu9){BpZqOB8^UOl!o6^|shpBf^f)BLk;s{I z+xIw2N-Bl z7v>)vW5iMPQumJNLX+gF@p<&&t;S~%Z)?`Nn&>U)Of;ASaeBv>cZ$pi_m>%joc&ia zZ7d=qp7p9U&OJ>=)m!KzT`9#X-}*Rt`$@5BJuT!2DfWyK^W%>!RD(8WvcRtAENbdf zq*&y%c*Zu)O-41i1y6&LVQ{1FqlS3w>Ud~*BTG)~3q6{YrQ=HF5=NLK3Q+xLc37^P z8DscLWjdU!77C#z^Dh)}26FME3mRUK6nsEDsqtPADAFQE%H;1GlkT2^!(l1<hqt^s+fxOIuh(=oI2m0QHJqDpCz?q8I*4H1eSZM&F?=A3f z38aK-*#L||yJVD8Pccx>cx0i=Ra)RFXF$kN-)$F?iLB2Ehs^?o58R`O6b$7DaQP2-tDOx{*RS6`xam zUsJ1Xzi+=SwW4*>VEK#e`F<|@LdJ6)7ZO43i?y=?fPKYwb6_$O{5;wA+s*B~VeP#K zR=<>P8err|$-T7R*~x zk%6Lk2d;1X(VT>y2h5m@Z+G{#8_u70P{^|~yO?U;=Z}l6pJo(c?|q^8F!+HT{zKpe z2$SKscsn9PX>3R7C7f!3YtR=g?sJICdhh?@q@b(X<@)ZA$-sLrcsD}kn#q6ur1LA} zqH{Vsb=K4isoe_cN3Z{e>NQVtRJ0 zUHd!S-w=HfHY<-S1|h8g@O;8S?X)ihYurCHT#=;LVOiqK96!t`Pb{p#Gbl(i?Z$t@ z6n_+on*L~Tp4~AG?+uLuU%mDER zEqaM1RllFJxirfZio~hjxc|pJ%WJfLmdRlUcyit@PR9gVrTu?IDsnLjmed6#dJ(6S z`kU+%rtsA_9EUBnaAY%4%~#zA!Yl7$WI558`r~g}ceEma*snHJT%~-GmbOC?3^)Jo zNH}*$a{c=!%gJg%R0Pt)$EqdGg)noenCciq36(3&XC@aND&Qh(-y^E1>`YX zT3U^57E`chX<@P|4ANEB)~*)H)v{qwj}ihZoWh2Dxm{iFVD+v~q&*{*;U>Gj3X(Thsb@P-lI1`Nb8+@Ux^8;%NM)f*JzvKU}?6>-&A zb{HlI<>CXD*#rax2EU{#1p$ONK3n}cK;1bhjD>oKla&~OtTiwX*oB5gABOvmn92@cSbBPnhf~oLvAE^2xN=+gUtQ|?Ow8IY!qq`VQG44* z>W4_5_l_l|i2QwcdJ@JvIlanZcQUhw_j}a{Ke?msM{(6ooC&)LFTIkSHH;v@oX(DuN0(w-I;hFdm!Ema=y}yxtS>S*0v*8* zDsx~T`W?7SL$x?N+i)9Wn$tCWbQrBh|Y52Qt+*qo5E9jaoL zRfWx@>_hlnukjf*P+3>8JcfJ{HPSi#xGC0RAK0tr(ds#sx@sm}@#I#G=Lq|qcW$&T z1egvWD>X6Y_LDBxgw;7G=ToV1l-R&>jw|8ZkV%v)9*S}+MsyL1jUqIbKn-e=d?pKm zZ0X0?c5US71uLikPHW%E!3#FJ5>?rYeS7jv(ZxJ?3YgiPQig_m?E)0x z9TJqL+Jv39&ZhW)zbdpT$_*(pVydDA0hH;n>VFaWGdusk3uxj@a>_}F^``J&6C0Sy zH-v%e95Tpc9LKx0MHO4KBBh`hIF%Go4~ZmvbuSVdfXMHoV0z1@kuV{#dACyl9uQEpT{j$t?+(ZRQI6Zdj6v)m3sE89p&;$P zK3>zXA4X@5hYZ3qIcx!;FZ74g0A8sRhNbpo*Hjw!Js?hiVy@XsMC0?r!3Cf-QmAa4 zlr8iM1%A8iWHhM3vYK~Zx!HvWmXR?o17rT?Woy+(sP9W? zQ!UolOrCIx@NYl4&gCump=cr<1&`*sqr@a-#XIR ze6o6&e=XA1t*@`?kX(l#UfTiTHD&*fucOSjopizX!BQaP^|TX+99U0ddfn@PX~5pp zqR#4CO*s-9!Q6sT0?vl?$qM5xwdIEI@_-ZZivd_)WVPXACzbs64D!cj%Ih%tJKFz( zzI4t$QFslD&$rWrSt|Uu_gTB!b!ft}@pvLg-FYn{@zKb&dYO&BTNEDc1Bj%85%!XX z!r?JHj&KuwDq4Mp{EdS zF0Kz~A(CHoKZE(r&(C}Jf<}T4T;)uCB5Rs-WY)x!g@S{HA&hWz0fZ{^(h8^-5KCa; zt5p7kjn87=i$fcc@_Wg~?P~`*b-yOW%ODYwZfdUGZ4wV_vfi;xrtD%O z;bi!x^Z5*s*5SbhgM;ayi(?wib&z3-+Pg54&gDgwlM_z-&I~q*_E++1dkkVUGZ>x~ zq3}yZLMfiuE(WFs?p{V~F#efKdN_s`^8Fjhba-tsuZUL>Kzt3w=)6gvcBw1w%;W5i6YWSj!mE>LSJ zVYk|VnBWcU0Ye{3vpfoV^mL27z4-~&Tb8W7S9JD-h5M6a4v|>h`8zJyIjW0FCaYTt zW{`=5cXMh`l;GJ5fe6RzYD6CLu$#dX*cLDJakh2-dyM#mJR%o)$ViJUU_AJDM3W*J2+1 zoViBeGmAwaaQRG5t6gWGwKJAb6xJn(Cvvn)Arqo?HqFe-nLLwTQQ6B&*nNXdR%L(d zEp*-`+Iqg9^(Qq}7y7?52BUc=#b0yJVupS>;}UwxB;0lchI;&r{*#c>8?1}@=1KfL zffM?^KRXqIG)0^0j%~lLu{bo(U4}wc{V13kpX!H#@x3+$6?aHiF3W@Qu2T4Ul`vFB zXh=VzD$+Jf2li2bDzoKtvr|ymQ!;+~V_q;KgdQNL$-G>__+c#=m<|~gi7+#x7b)j7R6lnOS-Gxm;9*sQ zuE(ivSWE?)urt#ln_%5*%}#MbF-%oBOzix;j9uBI3J}d;;9`%&zw*Y>ZCzDe2!<;m zKNG%p=U3#Bujl2Adlj73;N`$|9oYwliKGfsHMz+MeUh(jAp97J7`(O>-E`>NyAz2~ zb2IEFB*y7wL$qUUou)>nJ?=6xj-c`cZcx6GAS#|3?A-}`PN`jScwM>2@l4cdnn2A#GK>Z+>~;_O%#8!nACN81e66h-;tUB zZ7ImxfL$%1m;oRFElMf7wq2;Y6F`n*S<*B*viS=kiOb@~v|@$=e^V--9kJ2dF%&E? zh=_X!^!EM){5tRWg&h3peTk{!X+>I>##ErH^ay0Qt>gEtV z6C^{?z>|ihETCseyIFS#$cR@}8k%cZHWR+r%F9N;W(&$fIoTsN{d`1)c@{*yS}4b& zSQ#YefIb@9(KV*Xrt2UdUh8`a?WomS zV`2@V?IY|l8gPz&PaE)jX$ZG1sLgEiBf zdXgq;k`#|T^=S@8@VrgD#r}IB)=lLFoL0SWxJ(8hUjd^KC0KlZ44@?o;Z$dfImI%m zB}14f7XSc5zp0^Yv3CGi{`>*TGxyAtcFrO&>27@3bMkRotO^ZD`Y_<<8sU{?YnI`91iE2zLd+k6Unnu~`@WwsC4`gK*~ z6zL+&gf=lw1HR`){T%i#H7#&PYxU^bQHZR85^FXBCuSsz(*yG`2#X))PF_ZxZ42*3 zSb2DuKSc|$k@pjTfvL3N(Rl|2L{M0pFG8n*tT@@a;)+sll~VZ}W@Fp~mUCGs=rZ(V zpc%2n?Y3vJLjU^m>~bzkcHxAX4DchF6ff&_^yNSZ1a7*$owf-f&z-3C!J-e#ia?W|(xff<{c+ULmIM3v^`&aMuHRPCQ<2b`j5dKAu_% zs>A=D9GWGRg`w?IhuYK^Mh^n~r z{vM%^7pJN$S{SFQW2vv0?;G~L!UATuP)1W)psrZHW=E^8^U(IIPs&Vw9f$&b@YZ#oEw#TCW%*FBu1Ghv>irX zqbjJy2#>)_4)3lPv1m>bCduMp#42lxQY;1NcmnrF2?f)7gDJz5m4&2d^5pIaqvxt= z47F>FGL2x+W20X#U_t(*ZJkcQw~@HlB}?~{e0e(Mn!$sNb~D2w_s@#;4>G8wt!37jJRDKeC0Qxh4#VQ%A&nY_-}b z=@_t}8+P%34^VN&d(2Mzl@Mriy+mM%h?_MyH;HK)yhJNQwzdXK66Z6R8xJGhSY8JA{RT?~nikep&n%~$ zZeoqB_uD+tKrd9DRA_b2anM9;R{UXaCm*XtsMb{MUy!WwrB3qg@N{DH8gqSwRkGzX zvFQ~W-JK#e4^>S3fDF`yCt|?-FeOp_=w|Fnkzp{OI%!3?LXZ`Y#U&zS`7ew{G$jP- zO34IB%Bxv&fi5DITUdwai%CfBL-4RPZ>Dvt`cX%Nj%tbY(>O5%Y2rk^#815JZwKF# zK^aEfK(u=>IjVq0r~g3z3|nWCw}9MtRZ0cYA-btB_U8wcp)ENy{|Hlj5_R6)X!}ak z%Lh}4d`~NPW z?J{VrKDU=LQrSwiz$Yqo>;scvR3z`kLL2J)(eBRg*%r-F_ztt}zb46pz6I;b%fvrQZ zEQv5;L>@J=ytq^P-N|0Mj zPlFpVC*Ya3kHx4iq7qJ^UvJa3BHNIefCf#mZYCq19#V_w8D5|fDY2`ph^oGBe##z_ zHMvKH(5ZUV>3=5@#X2cb!iKL^hi1LnW%3kL$zsYk%#JiMjchqJAzvyn$>i^Q&ZVbp z1DCLZh0KYNNGZH8Vw!{)z)oe#X+?EFp7-z>!! z;Z}mqKM2p#0`c5@L*r~MgJf|LE zCg8>PQi<@CK*Rf->p*FilA4&Z90pW=w6L5#dO=bPTOxGis}EdUT>%e9w$Pn$d@+aJ z)ENJ46E_lZa;0BG_-)M?9|3b6Gw*t&RB#^6_%S9JGO#D?Hg$ZU3gXi-6}Xn_3A@2e zw;CQSy(D4SoEFAv-|%J*n-v4%C}7U$OjJjPF31Y$WKVAeO`3`ClMS&8NH!Remig+I zcIp2+xzo-72MPO&U{k8(yqq;i`}bQiSuD||-*JMS=Nf{GL0a&mJX3d1cUW;w zQimSIbA_BRG0CwzuARk=5jVt@ZJ07aQM`2f&#c0tkCXro`J?B|!-~wYawsly{vu0M z9L*|;(WV46n!~IIdb%v2(t_vs=4I+x>ez9z_>wBE+%L_wEsFtqeDR3? z6OuK$0OU2b?wgy|tOk8pCwqg*Exj(1NVss?){!lv7HlDm05rp?wpnIgR_GY!car}0 zX2}sK>3Lv1!=Bg8U)VGo!)n?j>Xa6U^HS9K*0I_5cFvJ@f?z}!?XXqeH*15tX;d9> zrM>d4l?`?J*P~$WFe} z1{uthwgT%DTRRuHEo0PI^Qw5*PEfc-&51QV?d^;IhQyUf+Du(U&L|a1CsM~|l&Nq-z zeT*HESGBN}j7E&FE={fHE-;Q0m=7lw{GZ2$q7DA8Qofpav4lSc|9aO{@Z&CH?P?sj zeleE~f|X*r^)@6rRBP(geiH9gtnp40Ov7I-Ur1a24170!%T_!Mvs0 z*E>9%kBlEwxIyw3CMYR`zmU^;Asz3#;B*TzoE7M3IN4J(06d+)3(|YJ(Ya3juOcld zjwg}>ZFb9#mme|E<=q~pajOAYkLoQtLFiGk9eq4!_%7z!bLgJ+CV;kEqy z{7r^>n)!VVGwMZAe9}$=qd2C8q^{!i@~h8f2hNXAXO-F&tJP5v8pRBidt0V9=hPh? zGKU3R6qb}qZy`kKZa?h7F&)5>XA26%_=_V0Pa8J9u*=9zemOw2aYBZ3GLKPK+Hc`% zjk;cq_VSA~P^a^{AKH%fa*n29!7&CTxNExia!Vh`8Ft2QEK|#6SB7$rZtbG9DA!ft z3yhNQ{$-5Um>8DO$QKKwWhf0!#mpJ+A18g05?+u7+Cui;ARWS`>&&XVZmCZRMR(Dz zU_cc1<*q0vGDj*gYOCsK2dI%j`^2$Mr&JVAwWe`iR49bz$q=+=0q0K_HdLYN774jl z?4_|J2rQzOy)+_)fk%!LS(m{G9@mJtt4XwbZwO+_xH;-EtWGQ*bxjlC@AY$Z2`CEJ zD{gTjg}WASq@V#CnMH~6j|nq7ywgY&I~cH*#F|DkIFYeaN-}aGd&DF3ba#q-iU9^J zNuKQXI$PRv4Rqg@*0Ld1HpK@tClDI+I@uw`R7p4xqv=Fy#)x}C=F%w2u~It2<)y?- z5#dy>!h}*Zfwp^n)s;Yfh?=5RnKOPC08RsrKo{JJq0Ar}TLx1)BBKpgd@$m~)|IVz z#lOt6C3+~CU}KL^D2M#h!S87X#l}l2?N$mzXc>fnNs5}H7K6;8#jIV;vVLUOsVBTj z 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�rMkA zj{N0c{7)FlLs#tozz051x2h{wyr#rfc{~&>u4Yhw2BnUus^zi`0tw9=95S_F@M|mM zOO>-EwF;^n)3CtpT&ULZiq(boxdyxygh`;&G_axcQ2m5tM^ol+l46?8h*E*gBX9eI zS2PH8Yxj?DUV6(bSTeDDqBB5Ye!^TwEN}V=#4kFzM~F?ot~N2r&@;u+3kgh7_Y*fo z^TJ37-;Z4Jgf=`hYQ`$=Gq?5P9?tl=sVHhFvVoMf1Ue#|6E}Kyo1_9H%#?xYscP=R zxb78hpOQ$4jT{5D3m+B2G|exUn#7B!F6uRXm;_GCRKpw12uEfPHb0~{!iYfQ6AuY( zhL$pvC}ga0^ALdG*R9g>XrCk|26Nqks-LJQ2nn||(xMU>adb?8!dRm>Fdi2X7s9UR z8LStzym6)pmX%Q%8cukQ@!GH6X&7GOr5xcARD`h?fW4IQl9_g9@;k$7 zl`E85tg(v=@s&|E>W=q-t01yC4L_t)9e9C!u)M17h2pzbXF99RCW6vSr0^^Bp=+BrT!p#YZ%W5ob zX7~dDYU|7JS)%%ufcjHaKyAoa^| z-wE^IMF$B*6x~oMfI14kHOuKFmEy4x7QIjdt}cANE`~}3t}8oHFVkQ~O&Eu|L4$jG zdItJ>g+~xP8*)RR!T7?;<0_gWjy&4_!Cwqoh%bpZC;glmm(#>$m#0nXojReBL$zt_V-HB6DtCJi*At;b#+Lj>uyEa_2D>u>s(rJCMSec!TKRO;W%y@4< zl+6!Tpm_W&2%+_)pd__wl@$v70ucDdx*#|<*Kdyr9fb1NpSkFc+jsn%|AR+(igrO{QlOa|MlEC^3 z0x6fv3k!1>UwqN%*vOrC-I3{N=YijAUSW!i|RZDTMmH3(* zmE;YfeyG-jpT=jMK({uPgT1+iHPB>u-r~t{kCgFJg^<>c3VvCVD=dk}fB=6kcf8o2 zu3twb@J66-gUf z(bnD;cWkbO#T{b`|McjSm8>N>f#)|$EcCd*maJ7n6XGW>Ay|yq)TF`+%P?iJ7c0*sT)uLY)vB)a#;Jnvs;Mmp_ol_u zU3VK!yrT-HOGhy({27UiCKf_hVai(I9z<-4OU0XkjY@roSwRZG+!Ya&X4RjeXH1eu zY<%(#lEfQBTji~gln@NPx`(8ArJugbW}?LI!}-!QFe-(K->N z4#F^NT)m8p<{{_U6VeeK8* z_Or9`bXz@3MlRo*xoz{a-~KkKrP@bE?6LN~4I}ZM;?xUAt38DcmtMN=&Q07)YQ8c( zJzf0K2@obzG;6NwDkV+m6k4sbO2wGx(qn9Fean|t9mHOTef6t<4+3FdUmuSq-JXSiU0ppujSKl=Hq!w=+fwOD zy>|PZclHq%hXFvPU!=HdIVWhq`lC@$wzhFb5(FjRT+m4%KqJ5=dtVoNgiGa`w zv{lu(TJ(Z~Rj`er{izA$p@}Gcjt_==&cl;Inz}p^sU;i2s1+i|tQ8;^(uH(>Qgpx) zJ{A28L^Cj~aZjnv;q!3BKphDnNQ_okFW$}JIU%r8QYp^cas93e=QpT<&B0>O!Bs^> zZUxW4R^bpg0w=SD&_eA*SEk?04z3^GU#?8#a=F>*pHEIsI@KI-vZmM?&`G*`bLi?I zid~Ai$5e4M#ta4wX}eGltJQ7pC$n1PJeGq88Ef`>JLcYn^*R3J}UL$rNp;yoxGFG;j9{Ndm*wAro~q z6b9K98`QYi8YuOz5sR7e5PnIk5tSIFCm5pKqrxJpiUbcRG%hWdQ7LqMe7r5m1I?rI zClzuyJY&cT3}t~Aj{qE>F((Kf7<68fmeDX$%9hF}vC{dx6x!^z?K(3TZkA!y4{RCD z-MzW9voo=7fMn;Bb5<3Ev^443Hqus(lksKqr;9Z*UGHa`-gjH&U6+v5nc-V*nqF9_ ze(ig4kX}=U}15_G+na=$L2a2FmQOjhCwe2 zg~G%C`l0WA?|Xmz$AA1E|KooIVv$a#-{^h+T+&+^xAUIf%zLKhguVIul@BjkqlYrB z#i@)WrhbaKT1XetuVji+?rkA1<+&&3CG8D9xGp+*_&j2mESSIfv5k6%!pjIYQRoTV zj8PR@0HC71$K->qpx-Fvday*8R0F8-F~LvTPparJ1Tpm08{HehPfgGWj)?k6;uFM> zC}dG1*(^*WC4iD6v*Awdohb9)hPAR)PT1ohO07){n4-@b3`~%5rp0~A*0;wKfjQ)1bkt)DeAYGaMPda?@14K z4{X@HqrNo9-OtQVyOC(eAjFS-@Ex)F)8F#kfUaZqb zRD-vBit)AO8uhs&E9@_d=>L;~7RU8<@I2I(BS!=!q zM?H7b;HwGkUt~xv2}goOsX&@T^Kf^q+2I5S3xA?{AxKAZ8kjMDa|jb=U|^tHE`g8$ z@*#W$5e~&XbY6M^hc6-I+l79$T6LPE`)P-j)PD0sJk_x~E&KoY9uN~OBAsdsp$ zub#c(;!$JW%a1-vrtRfdkIlVK$yo>0-ARIV_xBx{I7MRVEqxz38dV-#omjHRc4%3hfx?I!uqj-j!!*}1cE)9fzL+39I} zkxRJ=+5=REELNPk0y&ju&dk{oB^B6Bc}PsOxF$8y7E6fe8oaL@FASq95Xx>rYTL@d z$-!FD_bdw1Ai$4}jeX$@U)Ztp|ALn=KsVfQ!`Hw5$d7;W%r)0s0b(I1m5>t%Zl!eK z;ALO=-+%L&&wS?Cv12fTwo*tpZnbBQ2uWb)i*9R=s?qp zthZNsBaXV(+$T*6Mj;t2qHYsshGv$#~Y5x$JU6&lZnCgJ9`G|n@9Hm7g$-I z0(PWQJyj}|3=;#ynHuH<9e9XFAtYt;6R{L~?dj)=XHJu3GWWtsa{O!(L^(<;v1&(8 zuaPiGG1qqRvRZpQ|93yhFIcdomNG^x+d(QRlB}{=A~jj+OIz*hN4c9Ei_O+@*7slL zArW`PMz6klxg(aFo=(p2_GD(crmiJym}@5%?B!*O=VHtRy2oRJ(u55nqyMb1(HE;v z%>_ajlpAln@z9||(8&)y^hvIN;qc%q@bl)IZyp`p0E4w>?@l1e|NcLGs(+yCw%c!j zH+_9wpZ@fxW@ctS_@VpPt?%2sWu&jWr&6ix+<6hS>vw4o>_$nN8vA}UU%~v0N~lbz!4KBkI+800gz`KID?_@2wW6P2=_8&Q zZ~GZ@A-z?SdQYg@7Ov*zFm!pSXQjcH7~P!-?=F~&IWefzFlaEdMom<6HQMlhEk7Yl z${7qtIcauc8cOKAK~(DVHlebE_|o&aM^y-FDMV6bB7^2Y_*c_73iVMTn;hy!!leO* z&pt;YuR5mEN=1E=aMbtm6IFaO1l4=gZ0evm5rMObZ?+hO_(m45=9Fi30x)tgKV3n5HTTvvJACkgL)>G1{YB?<&0ZD2$*T^Be41yfeWNSsQeCPR>A_N1-fFd4#W;Xg}W+9A(`}D@su#aGA7? z^7HU?8+S=xFWX!Vt|A=YqhXtYcw!NQc(-kyJ>*-_0T^}Li($}tLSE93Gdhn!M=}g} z)N+|S;Au+@U3v92z3Vp%{V^D+m?`dX4O3jv2qjzeGllMXxJxQ;B5Er|o!CrqRn=ta zVT!qQqw&eW0|FWmES|6ie22xjRinT}96-47=Dk4|OEhGe6NUOTU*>Y@30Gdg$TzZu z(hb5z9YebzlmIn@v7o}FMk{FGd`IK>qj)JQ+=s}{Z}En(_2hV-tEDGW*N>}Vpp+=l zW8NVn%rT5WxU{sy)tiM&6}+(GE>BabbUK6HXr%vV>@MocNCamI`YGjk9KJU>LL4+} zT*9oC*yKO{j5`i3*NK@lEz=&(4)5Q2?9pef0$qH%2i01yC4L_t)qk~CSa6qo+#X>xRdY%SWbf$r`n^YdiU071%voY02`k0n@n z{P>ICIZl#->>bGNzwf^1PZg|Mt?!y`^_V%3?%jCFXzvvn5Vv0Y{J)U-B|;LUz1>6w zR}tVLX2#LsDiy4$@BF~;0dZBb5!D_4gpAtY;2`9IP9Es(8y*;}+7;fz%ud9NeY-E= zpX&V0-rc((PbNJ;g`1ykTQ+XLcq=^D%G}a;@7~?`9-epX*nz5~zmTN%o4OD*u_Uxq zl&lg8{9IBL{I?Fk7OQK*u8_ddvn0Zy05vM7!f}7nkWWq0$~T0>Pub7o8ODWlAvH@u zH#4hLC~ZY1lzfqgPV-65YLQj7*ZcPuvDv-xkZrGzH8UPZ95JD?_R43Kcenx6^At_ zTnQhQ2ogOTtES5;%N2!FaN9M6t+YGlO?TwrS1(c=|HG|Gy(?%8MlW**SN)2qIhF9J zU&yDX09&OVDw$Q}pYTfnRk8))s);}-DF6@_81c3QTK5@-5(A?Z?kE%!5ak@lGL1Ma zG>2IldK!a>HG=$uq37`{+CXBWLX~lOnXhPm$|HgjQNs%!#w--&y~R&5X!Z4z&rojO|_Bm`vCr34Rcw7s`F+D0~{`wndFT5dmO z5vNw?m!BPpp=}%LGt0SoyZp!xHr;en*8?{JChb;ic6N68?_XSg{ghEmu$mPUu{xcc zI7;j6=}NR&sl|?iyT|&+e)cziLypx+Iz`eBNhD&61_+{N)p6#Q?HE6C;nTttXQ#Y# zctAy>2Cx-1qClMiq;2$L}Wfa}n2q00dRzzlZ5cwEcUg#jksdme)*D0%iNXY-cPD0D~-dEDB7of3TAWR0~_Yay1~PtDB#UWMi81t zbXp+?8qQKqZcD{|01-j%zC$C3XH-Esh|TM5k}dSSAowY&$V#=-Adef`%&6*` z02iNv^_fDX6K4>vsL1aO9agPdb<;>@Gs%wjYqoACh5XrEF1NgN;>?*dtUe1I4{%;m zP0p*7d95Jcdk}<3EN+^y6d@_DP+I4Tl6jOZESs-2lW$S?h{q6bZRV;d@e_h&CGPZ()W>f0IIC)6pO{wbpGX^{fJC2 zx0P6~S|D9!bvZ_A4q4yUzJKHLPhTTxLMGYEUwMo?(?i z4o2QdS^U_lX21UOYh*l^*^ykFUEty=)P1(X1Ft45hbD+^*fBgEFmZ9UB~#eRviFoR z)i<){GbeOtR#hY_g&fC(8GN=_w)L-XL{g4VaU!)YJz+e56}vAZ6#+^ z@$(|~uc|X!vLRG8>E&wCH1*f2t$iU~NP%>2PG!^uzyhb#+CD9R$_G89GLIaG_k=|1 z^T;B)+LD7y!&Q+&i1;iIESaO9niFNANo?_%!{_%c!qL2UTjVv|Q9jr@yb(r2W zjn0ubc-p6sx#5nTqoR+Brom~cjFAsv@xD=)H*iv?mx%bWK1Sc&Vu@orbyHv~W+1ir z)D+${`8hW?RZ4YswRLq54R09RSS}U0LTPUK*uug>+z>9&8HR9l!=ey>0uGaiJuDW3 zf3dby%uaJnwsN(`uMI8X$kEkdeQP?QQEdgI=#N#eTe*DAG~=5u+6^h29p=6}YIVNY zZ4`RB7k?hd5XK8bdKj^&*{f}->PiVNJ$F)}-hr!U$mIHxL`4F01Jm>Q<|;Q>OsMoa zjkzIrcCBh@X-2&(cZ2$ffL53MNjyF#vR$YqO?CPLaCAzKRs-qr(r17 zGKnIvNfVgxIpNV3cmR2RkCH=Ytoo z`>p%xajrUEo2ndLn4m|_k|mRLw43p`{mKGao(K7``|jS(8wNRj-D(~{QJntG1bjm>{*iG^`)YZf?J^ig}08bc>ib2NgiNGP;c z+7e_5f*E8sjRrQ}`17ndsajGQl}R#r+B5&TCiVIj2l!m3!iDrJo`UNuY19I404G&mq5MG4;S;|b@eMP)e660M^6~3-!ky)PQSiUtQWnnfV$L`bvquKvhcVjcTQHqR2&POVz}}j55+=m zv&Q8;B5vf+V$F69BSk_rLQ7n)VL=(x0i+ic4zVE^n!*qv?D3gbCcF!4=5E;A7@odT zsbDF@M9R71D#BpZf1I=D2O|KZ7b)2zl|$;Ug)%)+r_bDRAzioG1p`>?U|m}`%evi6lH52U`*X8d3agsZL7j8MbdYo>=P={ zZyaG_kC283>d^XRSt-A2`x8^L$wsPH(G5_62iYSsr_Am6{Yj|!IEq6^39xzR(tw$= zI@qcfisXQ`kz0da`-K#lRBOX9hcx_P)C^%$Flkd7A25Ku!*x~~9taFCLX<`bcrpzr zVR&pVBjO-leAXBvN{RnxINzgUt6YM);q0|m$ZZ~D52))UsxA^(WkEEW_n6Tn`n-tS ztGR?B3PTxQN~wzmtO1*pBHH?0P4}*paNrEF>E47p4NB~-KFY6yINzBB78(S^jLF5qI%k)GN96a|!u^b`SXBCHbj#{h z)a@3*XmV>fyqv?^gI10zrI#o57wxD@v0lC75-B@T{~F|XeKt;G zA^UM(IJ_8$d(;yi^N#qyS}!OZS0=0WqvPd$};=4Ao`Z?&!W z;KA9hx>c>_#}`PP_H7=6y5^R0r(Zw5FceQDlbtj+^TNwB-#tZ&#B#XGD2;LM57tkr ztu47&bY4A9cCUBZ;S38I0_qIi#?T9ND`K*tM)!5_rw z5%Wl}grK4%OY!dTq7tFMX8B3m-Vg}K*27A+9nbJ!kC8YdG~yjKA!PL^OBTP7B2&=U zXwU~~RDSObCBFGAIT%e=7fvOmn^A*rrG6c^&>61o8QT7#Q!y%n$VFiu205&Cu6xTU zWTHMb0~>hXgk+z?9@$7V`m`*#H?&TIT1o2AtGsMbUR@PH`7;y(4U_uRPa&lm(GmU6 z(iTxnS$}@-6KQO9Sg%72TZBl&c}~2ThZOagkx{0oDaT)6*ky;Bh8gc!zrA}MTeoQ! zw`f{Cb^7$_TJdZ?pJzs0&^L>RzCbYEH67=_ecQR61ko_Xf2P~xKqSi|TD4uXSi=SG z+8sGcrBs<>z$g;xdWLE`r2Z2=Pb?Iw+JNVBzMjo?9=!6p_3PK0v2@*Xgu@F4>#tj>QmixUI&xi|7IBd1aUQWHK4dCIm&^3Gw(m&)~59a;{v-6MmPN z!Y~qo^AW;{2y+jpq79*TOcvI|LjDB)$mIH^0L?JD?-Ml-G^bjwnemu|R{)MD_GA-% zqoZ^C;)A<(CGv&bKTbHWP|K>5?fo5>ZCZNlg^7Rpao$L9f$XO4O;=r2f89Rw+-oG2 z?MZjmhWUNn;6=%kCr{4(^^bw2Bd6#BogtkmJC(|tq$80q#@2J>>jdbAQ>p?_W|^c? zDLwtge1 zMa;%XX~F+fjv6^{c2G3p`IjMSVo&J%*5L$Mm#Cd|#WzhVT0@aFumo#MQSxUfv!n?o zp+Hckqee?y%_^+?o3Od+m#A8Sq8&SS3k;%zP$Tm1Qc;?I*fZWs5 z1I!9gPk=l%J-u$-Iv}Y~@2OL#Aahq&my`+N0cwQ(9%}FJ?}vxer%u6hE|+tJXW@y7 z34qhl(SePHs^JX)fj1zszVhm;=-TVzi!a77vVg|&^77*1BA^FY0e$T3?1c9xPMm;j zV`F2`G$5CKeSLsAnkCH5&B6O~XK*j16;l&IuF27qT5!!rAzB_LSl8eRS6L+u2Q6E; zD8)B+8;?qY_^7~FM6wk$f<-j?AR8;6L&WdsPSd(Q3i&3DYH?XUMjel*Dvs`ZZG3=P*qFIs|ACh6Y5FbT#gli zB}5X(J+@~9S%byMOoIwdZqh|N4_;KdwX2*?8@WVg;P%YtUz>jA1R%0ByHGlPme?dV zZ}F&tPW!q<^*;l^*4bnymJv|e9%nesu(S7x0#~%NIImgw=t);w83pR1M z!_7pT`zg)RRBx|wSz9TWBbK=0%h^tQC$ZS#t7lFR@>q-XvccZ;`uLB|9Q)QIWR`2{ z*whl&r<908CbS`hoWco?Wd;sy*D!yA#m@!EuShzNl9I|Ns4s&#gU2E*Zirfu7IVI7 z(qNMmift%sp=FR?TUit<2!xK3SioFct#U=TYLEqJ+;h)82jpz;-o4PpAdG>?1Tx-J zPd)XX_q+#qizl9VV&~4C7=DL(nsOjJz542_Q1;SGF9q5M0@c#uB9uCM^ystCK70TD z_kZncUju+3_yO>Z8#jU=_ro9l5a{f+*IxVNlTY4z@4Y}T9)0vtkQE`rJ@?#$2X&B& z#o`Zs@B@&?o`3%NcfIRfKy3jN$Z-7l@k*rvlHrjfN8sUF?&`}XZzeMsC=60x;RPftU(_rL%BFTC&qh=l_K15gDBsL&jc6%QOZ060J! zK^O*rP&GgUoG)Awy6N29$*h>zN{R4^-MD|pIZr*04MFD+a)Ehn9vlydZ>2CrCCU4Q zk)M2b{i^n|O7i3lwhDog#yVH)qNa_WW@xBm-N?wct<~z; zsnf=QUQVSPw##4};)$jT{7+9LDEB5h zTRZ*C&x^0kl6tZ}mf*-2?0R95%&^XE${Eg*Byr;0($aKzd_oZCcxqJ8gFPh3Nug$*M_M2f4ToJ4&LMu0h!xzv?uY zjf1L$AM{^|D00QB=mztYyv}8mf29&zy(D&y)oBmfr^bR(l8T|4E$U4WvIM)Tf~_=U z#cY&Pt<@?4ltfHbzzni&El%kb1VTwrBxceJxvRY?I6{tE3xVlD90I8i*4zI5`z@ik z->|3_biBX6|K^)-W;{YmO?Leyms|o&25=itT_=kTud-g2IZ?cQEzW@a4f{O0C>n@NU z`TZVa*=+X48*c=%3j~_eT<%tm0)@`!a;Hw7L{1q<_?hwXYp%Y!R;z*ddho!3p6>3s zvuAV5%TOxU+1cIIWpG#K7t${v;RY|a4R^Qp6qSj`TbQO#i%C6^mCFoyKDj?p#dd`% zNn1qJ&mvI2#S8T(S;`f|6py2F@ta<9-;+kz0HU0QYseD?4Sd!54x+K*r(pN0@YO+4+oHOkX|XrdQccj%#4UAD5C=IZp=e0Hx%EK_ zMML|<6h{j|Vy^X!e;%4DH1WwniY*vSev)B}Ani^p6_2Gxw(ecG*{RkFKx~V%lQT0j z<@y8=%(y8|4V*Yu;@z%LH?}8w!i4_;NW(~`)2VbE8DAinr7GveYjvD{Zw8HY?H8)t z)~i%wV`H1P?Y^q7ug|7&;kVZ`Vibd_qmiOIUMAJoa$}h*Q&jJHlWW9KxnR9duAZl9 zgqLz10*N{AG+QYu8rVQA$Kho)}^f! znPfpp5LEQsH=gp5x`LV{kg&u*n~|Dex+oK3KWbh_T|l?OW!CFe?xiMSDnV`?_g0d* zO;&j%H-{%+qYoSOUW2ltc;-Q0#04XfES5N3L8US51Xd~)WcX6PB25EEC0=9onoXXZ z7(f0`i<2{?XfHS>F`RW*Z|8^I-+P%~C_?6xk={5oK6i#J7f452+lQ}MzkdCqJqLUm zo2kv(<=Rt6$pVQ{gZt>_%&JY|VtGJsnK9EL)t{fK|Ndk?m8x`*R9BaIEa0#sYSp(c*#;-u8gOoTOk)*P_5)=_l^{o@ zmf{dbH9!?oS6qF9{BbwUhA^=sf>izd=RaRuT*PxS_z6Cs01hHwcXzjBytsp`eE$32|2{~GupFzz2ExQw?Kddk^z!!saSmCi6?gL+SLyngQx)EYp1}(nKg@*@+X(S7TPs)Yot85`TJGX-U=FP zuBgQnO1+zw(84fK|9jCu=Bic#@VdvKTPE39$M4!v_N}^^(g;`bDlp3# zNFb1JX6EdRFTR}3q=2cmsLB0UtyG9lQBr*nk{v$ht>{?V$pwx#V z3LbV-&xZ}hw4lm`syG6R&CkzUUYJ3df%vDE$N=k$XW$B@91@R9L)sJOg1tC9X^5kB zi&(L2Hr3a0>eMMaA=V$18%k`ya>vUrzg&gxvF!4pYhbG6z$?KEc z*^FgF@6-}7N;=S9q%|CUdHaF#>UKcx>iA=D?lxyTrlD>wG32zABXoCDplhlQI?mWPXdu8aj z1ed>tVen^YMJjU`Bsg-8sXO~>TixQkS`}DH3^jR;DmrWDMC>lO>M0JQmlhYl z_r333cm4HSw{C6h<-+P3fPlPLEEb7!A0iQ!eGQ`Ecfb4HZ+zn$?|kPw5$BYMO{-6b>M}xLJBIKQr&YP^CuFfl8&Mj zC6qN?z>*1&&Kp#=fC#3IpQ)O@g^CZdcBqTxjNC zU8@qJLf@+^S3bzqw+5IimTI1-NjhI5bQBue8#P;S^N4`$sM4SW=up?8G!g4c?g(gK zXYm`scxT_X-k}{*Q3h$GJkm%U%000mGNkl7R~Huuztm-$2yyu6A;*R5{!gKO|yxX)H*5!T29BT|=4h2FQWd8KH4QX>iHH1RKAmNKCj6^p_4-QL~? ze^aRpFfEx(8n}@}LYN1}@w!zo62#Fcu=Ll8SA2rsAp8Pc75`bIb-+Vv`R@q{qdTNp{I}oscGF7Qg!4S`${Sf{H6vw`{oR`n9H?fJ%gf95QUUPqW$hVFQR~)6>(aD-TlHzJ2>34|*9@3r4|ArBcC{0BUGx=&VR6xd9^r zBH{}#ydbsqF&hwZ5Xk_DG>C$B0lkw-8dAw>ad8ofUvtehU-`;c78Vv@hk&vN4jh07 zRL_twf&OmVwCR~=o{<7GYINW{18R-|g`gk^ji%?<^g?$Hv*<*jCk~ZRz&ZmhIPW*-i?JGeAY>Ctu9x^Y96XA~A6H6G>+IFREp*KY$k5n+$M9Z?E+8d=BH_fWE%#Iy9cJ00fsw>o6BY+^%5 z0xN|ynHy?vC`WAA5SOIT2DX&?=!ObVBM$Nz(Qq0zmYPvq*=Wx6h zbS<$XH(#O3#3MbV5;ShclML(P;)mssQaM*FEpx%ClH&6-&f^ot6a40?voi~GHSHzz z9K#h6sAOpF*Yl1_nmmZ|r0w@(YTr58`W-o^X5b8Hyo z%cFnyV{&qWB*@6+m(WYPIJD&w2zXuD?&4y;SXd?|zYXTsl2twfAYhNn6ZfR-h#V>!4jE|EZHh9U7*rCz6xjA-np;jto_iP+5E|N00ndDZ> z)H^1CnIPIC^_Hr8k7RE z1(|`?gIJgqI6KWXpr zS?c-{?=0Ds6`A2_V<8X9nPbD%UW2{c4gw(}cndG9uuW<<6%*=rXTlWgGUn=t`mDcP zAj}j9iD&8_YG?vy5IFH}!qpy7AA+Vk>gK90f2|v3^Ht)|yxu4?A&r^Sx>wcpjY321 zDC##al%?eR;Goa|KcUqXHI&WKP`h_+0GpJG>J5CkVsEHF1D}M|pWq*<(b!$&v{c&F z_~eK?a+`5Akk0PWj;@jQLz{%X)9l2=#8P1b*ufaJAa~rbRJ66^0d%OrGHHGYn91;C zzDk*IA|P7|xlIj8x5CaRS0dUgF6C=OL+dU-beL0e66dn2qLLldg^_cEhY?a-zo^qj zb}x%I4RvR7V0BQ>-cK$E-xOjBp&+cuatN7GNWQ!`YQ3wS8`>0=&s4dErry<@Yw;LX z%2133Wq>HPE|v1ouq#2eYT}vA5Jj5B6JGeqm4*zrbv$5|<)c3`!KM#vKu>qyzI}Ua zr9yfncP7UxaG1im8K2K#(_s*S4! zWwYG>Ij{{-d!=mg5PCEr`bBrWBQL=Q1_ls+WR|McstkA-OjIyJkPWJZbs@(>%Y%vE z2Z|#C)1s_ibxIX39Kx!F-iz~YDO+MKcd~^g%J%j^t4dEEt>$uEYjeX8A=P}wHj}kv zN3z}*&l=t4v(r;Azf7hILUVwd|1y_85Suw5KxQ`$4cXZ<-+qQYM;4NC&Vll+v`$i~ z_K)qh+uHK=eE;U*@|9b-K>PUdm%i~GBhMTw#;7ClcBc((oakvuc4HHg5|z+f&l(E; zDkQC2noDcv*oWt92($&hHZiq%LG?&ZE7D3UqVmWZB^gx7otiXgQQX&xX=NM2P};3g z8A^3sn$QG9YTv$nct8dC?%%)P5FsdTz4cZiOz-Zx>n^$T$-V&MyKURHjT<+j__uxg zcH6SbQM9}I>Z^eW!kcTay%wa(cs$1D-dFNXbK|P z?YG~K5hJj=Lx&EHkB`Iq{{DVI@`@|2n4h1=t4qiRcp?x04nVlC(OS(A0fG=9yc``J zMU~M99(Vwn2FQS1+S}U;EgBjcLOONJEw_l+r{?hR@CEbbUsMv|n{ z4Zp&Ywn{#gFvql1MKH>{e6_$R!C{b9rGp2u3mTm(9iKLbWMPE?^*^aJrnT1?2+=18 zz0s<-f_cen??2kxSYBCKxpemVix)2@y@ehG<_;z0jDyl?_mD?rtnCuUr7_Q-BSi8uo{hA$jc4 z$F$RfrhFcon2_vBSmQVYYxQu){G6PVlAVav-$~`>x0pAT^E^t73tTBvCdu5~9D}$zjLpu?LDe_x-Yp516rygu z^;V{tiHN9-N?@j@rkJG#)6>%uq$rj&dYUP_<#=XR1@MWJWXJrxx-g96`JFp~`tLuW zB1g#wNlb4&dKCQA;8rAClpHd+>gc&Ek4)MsW+&P3^C3a!Q-gI|XV^_xU&2m{U5fv2S{^O~TgXgxj#Xro1K6%Fy` zlGd@zZOajluPGQlW;UCg&8cX_18^Eb{7$QNBaC%NqHYZ(&#KIv>aE%N*6f}e_DF(x z@!ZLUg@xtib1K+Fw4!THH3qrzx1%dX2ZwsMa)21_L>`GMJvoLQGKJqeB=PckA!0Ah9 zwM#JfNmxxpwFkWv|qP;UO>d2hfF1MUOD z56`j2dMHdE6Rm2A97!#8dS}8l!Cb00LWrG!HB%P@AWE5g;5b!lr;CVX?_-GyuHLDY zie|{H3$Z}?XaNVd;NmC-gvdts?L9C#F%4maO_+)}W;%Xmqu$aT9b;^U0aoSu8#It+hBaG)i7bx6Yvw$m#sDHjsC{^(@%XD4yhYTyL4O%UG+w5VnQ`9 z|F*{U>z4W}g~Q3QHcMg>uOh|2k@aFt5_qlZ`Tt@W;Z8*ckg{8~vS+W1{;pVLqV`F3cF1Ek; z#V^MH^!?gW@6!286YYt$2M@886?S5cb=T{nnIv)oD2_{LHDlmDA^f0T#Q8omkmgrm z=mCB9h(!I1RM?ws*Y9u06c9oSl88S8=owH+RSw5erS+nXRd}~(ew|3ZHY;Y2+|4=2 za}_rIoEt(-ibI3d000mGNklIH2#zO=&G*$X9>hL7JBC|E86G^#N zQ?(>%DVykpgTqeQ6_+H2SCkudjb&G2hO-AqjQAHQLDU#j(e;}z5t+#>az5p^m5FZ? z>%*ha0iBkj%qTLBB2R3CpHxTGslm_hRPGK$UQYj+4oYrYm9bGMZeitA8O+a2v*E`vAWU;+PB_z z+g*1)DEZ65U>GWs*K~~NL!?zS=}Lh(n<7b33J-WG;h>ihUnYWxM$|Y~ZfRWm=?@&Q z2Kvwn{?W*UG*1912r@e?woZ>5BE7jQZzswgH0>{3%9&?9o+h}3T`63}T2y5lETCP$ zh%y}R@#^Y!rEUWDgh2Y>I!?W}?zO1Yhl;*(zt%#UVN1Z|53r%Q1%1R20(!M5ZkUm* zC3AsgZ%pUBus4AsON|kv+1c5-xj9@BIvWqIQ8csukaW{3PeWA_G+W{LL=)MY!C)Z8 z3NVcUK~cW!Zmi4vLw(cOkCSG*0hJ}nPp=eNleM+A;b7?^=aJC*uAvfx+wG>(IvsCI zadCWH*_({F$CT(;uj}hZeL)(S-pQJ!C|=Wt3G#KUocVIA1gW-zVH_n&ky|WD(F+bW zWG^IxcWmFg9(?fC@lLnfoxQ+MojNuA@-wW#cC=d?mlyaCnCLFCWJyf4c6-?AT0g=gyhEbG*JkdiXnQ8;k6Lz3=<+hkm##*5N36XJ34gJ--^Z zTJaB-&z*lEo{|eNc)D9-8;k8-GaH@m>J!i3eEfL$p()vy0}IpV&YfHN#KXhY^)OP$ z0I@wOk#Ndh!=Pi#YRW?k!eTj8v?Lj^kP9hyS1j_TOmxY=_N@ym-aF5mt)!x)S6)Nz zMqIt!TriwXlV+eiQWYSbYIEV_#;KusX32=YjGp?qx0ORz5o@p4Jljs&2~zI#qh~XM z$O+6&Y;;kOS+pV(Y+8#Y8RlNsE&SxS#Yk3$L>XRM_fRw&LM|BjM1qe)&6cxw#Vy(v z%aRfbC*mQG%>@;}e3{CC5#-PWkpf#S%B7C!xnC+540=A|fKdcIeKw^`aB%eoyo<)eeiFyEW_x~o za?kue$wPP6&P!JE?3t&P-u@6`1!>n@+FsXsM4^+1n3j>-MR*U#mvJI`8yoAL!SwX> z+wT7Dv-6 zQiV_9QL}9C+&g(1hfu}dv-Kz1O&V28Zq=0mTVU<0Q6L0>A>JJgQw%VhY&zIFoi_Bm z%mGOd+N)W75|vR2$ti_(X0kItA{&cL5SjyC46I15UV@PxXCcU1oP%@O4Bv*(;(L6+ zMQY-k3)8h7J9gkE0;Vpip}|0#Blb5oHsl1CVwm9IV@bK18zuvZxi|@z(B! zR^~P$QI11vwT6zE7bs^0vr0s4kEv)FW3A@KM#o$nYb_)@0gNcC`Y3CZ!YZptu~18j zS|+T8?8K$-t$ua=&augzJ3D*kh68Qm7qaeCKU`W^;K`7;0#Qqn2^MyHD?d2NI$E3a zY@ZGL?3txVoLu;o!|(XXpZw0vuSDlAu~X}h{ob^I*Mx@3ORD2SV zL~*UH{Hf+{=+4rso+SF~jW8PKN4eZi+o?Q>O$sJ6)fNXA{1MDGgzo!Qg~vkH#@G9%jQ=8-&V)V&{HjXYKhA86#UNHK$=& z85Q@T09;Kds2K2X%7(%!XQuoaCo(`9dps2h6dy*~MYajEN!BObJ~=pTgtjtawHe+; z*nUA-4Pxec1aU~&SxPG?bIG#Q!+EA1p}jWzM`$pmMdhQAf1nmVlWs9x9yKI zeRfK14GgDW6dO1wSc)p$(Nes?I<&l0MQq^uVpe^T<^*NVp=1CX!PMM=nfYMvzC)5@ zK7Hny#l=Ms5ryb!cez@SsCs&xUJI?{iDDkgZ`@j$hE|xQ9!;SVnIX2emz-FoA_WL|;NuGCBqd+| zBBGpnGX^ve-3J4V{BseTc_BIud;cz^Vl832h|E?7Y7@cF3sM!-XLmDUZZDn#bCpckUd!q}K0vYrGLkc{0Y;=O1w7Q-RVX ztRx=|qtUsy({{=xBrI1_mR3?xkfXGSku6OBNNFR@Ql`#(lJ_iDJWwvtuye(}t+tE;P`x6teLLKE$+sE=S9rWo{I zKk0OOW8*W&jvc%G=v(#GP+$A92Du{j$IHo?g%RPh!-ReD_h8yzD$!v!kv(G)HZk%8 zYr}&iNO0*CXrC+Q0?H;M0fqrej3Bq*H6sXJc+>?drdWegGE76dDHU048m%fg-ZU1B zow;x4X*Zog*JaJz2&^ippN&?YTMq;KMqbDdY;D$+UUkEl1WQ;Cw-lwgKAL8!y? zCPX;OC!Dz7bDGEiso5Ik28_#j$QyOu*7k{vtDA5zKY<&|L0{P&_Id*;C`v(SZEdX? zG~lvP$N14#$1(U_Uz6yW93KlT*{4&ED@bcxT?>XuJQxmoi8AyH!K@}|G$czX`mu^W zA8Cp-H<&nZ!{pdBTipnUEEp!N#rEBEc*nc$TsZsE{Cgjonx0;|xU_R(BEE5^ab$n( z+oxXo!k3sxYJ29B2X1OLo5^ywzq-mM2L1WQ>Ni)|knwK!{KMa659@ttp0(cl)&mdR zd4A!=*73XQb8}*8^_Ka4^{Gh-)k5>k#@AkoUyPD=v&HH`KLNEAy;@E0U^)0BzO}tW z7LlXh@8wjuown08O(VI=>Iruc)NZI)ZKXJb%n&d0CVfwI_pb>2($v%&_If;24mmXt zbQ^%@pcbNe@%B3Y5lWo6Me#$@=OsFU>GT#N`(neN(#kcF;-la>4eeO}}+bqw6Yz-?p(uo0jK`S#k`RDNdUuzHjr;(O9x~kBOwHW+jtT}U4ED=tR}C+)f3lBu<~WQ z(Nx8>Xa`qz=miF{IpQLVH5~}dR*w4E&~&YyUQKIg6NrNjGA_3&?#9=a0v;kdfmX&57y!YEx%S@`YQa8+czVi^joGv195%&SRzBJl3PHJ1 zjhh%L4f?au&*{%wa0!N2wF=KnsmQ`@9(sow4wJzk#+zFdxRku51Jl<6qj5^_ifK=w zRYKO_1{FpoPy?mKHz{|HwcANXoj3#^HiN;S+tu+iwc}GMD=N`Z`AP`2-f0vk@z~fH z&Q&d8D=k*I7v*pkqO^FmVX1Q2qJa##4!RO39|r@rabfZMt7n6E-OX?A^w!te>c!r% z+2v%F?Vi|u>%r%re?I=tk1WcHrfY0!Dp=lND;w;`Z#;bb_=QG)W@e_IhEj) z_I+>AQYlXW{$_Oj#u2};Uu;eTm57vKlHT`Ch1$VJBI1!?fV&QA86~o2Q4Z@#D?~dn ziX1$EXXN<5#32gB2Bkck1p_}h=w*~M^DGasem}H#6>QMabbN|9r9{?5vpN{GUz^2- z4~BycT8b+E`Fjt2rrCsdbdrZdxCKc^oP$1|_STYU;e-Pp3mFD|owLq(ePYKgx9qqj z=`XFXuU|U-!qU>x>e|9Ej_anKo}7Ski42o?d9B}WkG=g}5A5B$w^o}`##3_RNR+e2 zkeNF%rRb>KFKRWyB+?#uLke(UU7I*6ox)xRaeIR&tWG#wABDAy)+O{EZJ*@kB};*a z6&U44y#?2LDmYV^k-+`26X5$rarHXlT#_o6f*47!*|VdQ89@x@Zm#TDhUn21id97{ zrE>UHK@M(ylygqW_nWa6%4uUp2NezK=-i+&<%RWggSUuO{Psy@?!-n@M&>2N1}eUS z8j{EazS0Ym?SSpe000mGNklBJLll7R@!`eMJ4i8K$|L1QkUtCntBN~lXz0EFO ziY_SA%t084T43gOJ3iaJeDRwb%?U{qDn`efsIA|NVdeukN_xj#fvJ0CPsDb1t^oKmF5J|Mpv7 z`q;-l_Dg&2RzW6SpVNWu^u|cJ%Zz6at#OmapMEx{Hmcl}#0&#%!J8o9xuyJP2L}I> z`!i1;AcbF~XV0`w8hz1+#OBKZ(!qugRqm%u(|MoDE6@E~0tOORzb$G{xGCT_`>9HW z+>80PDKG*Ogl$t`aBJjN9SlZNQCrR)R#XaqI*roW5*s5FA!M1PceO;p-)PLu&d$#7 zyiu}%%Zn#3U%tF_;gl2+dTEI4ems5fYWo)fXe)DWP@DRVAEkuRC=RMjw1@`E7iozzWEE{lMp zY3~2+$q?d|lS3s|kg(=-2r956v_d+FV2O=Qqj*fGJwAhCB=#bA&ikcuXHGy2vz^+o zl#e|X|DoUKwK{fcQ>+-)N#TT-##gGY5Mp0(Yi0@0N~+PSr=W3K*AIR@!s>=_D~|>` zpakA*O9a;H`YJL^dp*Bn7BCM|lg!iYcENU0KFbN*R=1A9o*Q-z)s637rKK80ac>~M zc6uA~xx3MkBIVkO@{hXqnO9!<^ec&!?53K_yQYRKE9}*Q6qYZ|K62>Cer(}4-YenX zu@;{?bxQoF=i-%>q-TOXU-(Oq2&&d14My~j3`cbXbgzEtHZR924KQT=@V(6JjY zeDe&OpXRTwuv1IC)s#cXTG3iEIQQfW><4G{;8|%_i-e)NuZ<@rrZ}3{a>mk`ycN|u zKzOs+M9goe?R2e^bJFL3y7IKCg|Lah^n4V;$kCKjV^}Kw@<$CgJ|{1#nT@-aIc8+16ORP?ZmP?u`^>~BXRf)<}J&T zIbXuZFqY3NJLI5<8Dbv$m43={%=jtGU2#tQQeb{=yb&k43>Gk>O4W_@l9T32hyd+A z%cC2){VJ)1XS?a-_eV3gtrGO+;&5cCl25tP5zk6N_?IX;Rsw_N4Mg>R(Kj?3N)9+bLL7r;k9I(|>Q#1;SV^+Hw+}(+le$ zCjrl^HsLdv|0P<_6DC#79zcMBB3vYbtf*cRHAaJQt0Wl&AOgv$sN^gTy8k=`EP-6Q zy1IJe#0i=ImRoL_RUtK|-|^13MMEVeF0ZYtTft#Zg?M4g)9H8u)`=?kvq(ZEQV!M0 zMX#&kb}sj#)qXSFHK~FwKGr|=$Ui1y$_LTP?y2$d@!nd*dOZ2UleLG&TOYl1s&QWu z)MV>p|M9zvKX^49)FpIL5^I^Trb2-n*gJ7>KYMC8are>r{l{K9`FQ+t6ofT4%XZ&( zuqm4C!n&x{A`Oa0F>BT8QlJg8PRoKIqfNsJrQ*Dj=P5kjsXEx(X**?8E*Ytk)7e3s zPa~^!h*;()&zy{ptm+!w5T;6On@z?rK>v+e!FoKn9QWeM){b2}BayUx-9T_a9EOd0 zJz^p*HZgUB{xtTF^e(0KyM&YBB7t*e(r>L=)@4hJ!n27U2^ zq6p<@M~1%~uGx{2ZxbvuLt|Y^d zq24K|o-*4P&dtR#Bek)tZ`EeADHnni=NQq6t%ZSnKQ}$6Z_agGP$57-1-(-#9Cn6X z<>PdHD3_IBJG2iQP%KtJCf&M{BcpX$>eBLR_w3n*h#GCyz07{_nMc{fP1!ITZ#CNO zwewvz2;hQLsfA1Um4>zmI{ebpC)w%c*`u>(yO-Exz$fd&{*X1q1X^-uy{OJafXDs#uN{JozI@FqpgtF@=Uq0=@JwvaZ(9px5h9-Vad2#0>sPxvxJ zGrf>G;PPKcLPcqne+fo>dFgVyR-c=ks>U`!9*``r=ro89{}oP!D{1<5Os^dnm8}HJ z6Rs}UcUksq2D%d`YSRj>4vG#AX8V{J=PTf9f}VDR(L&8SZI2UU!yrYeIEex+N(DA( zAkMo)WJF4=P#tPuTL7fi|76-LzrMsVJ}PXKLK~Pqij^57u0HLS18iUtIQ0*Vg8|hR zfFW|M%TkckJv;;7<>1CnU@&V7A+wf~shm#wa^0F10D zl=BG*CDJQ8D7e|1pBh*>Kmx;>B^gH`Xi1d|2Bp-_Cq}eYS=MOK2LmCb4lNxpt^^z9 z6{e-M2&BX%E6+GMEC(ZZ-^%@j%DP}R7u!JL8XIXKJ4Tpk$6(J{DR7?#q2U9#%~rwa z#ZdB@!-y$e(VARH8~sS~&XNUH^ISw+)b%`-3~&_dkoT~oDQnx<3=`N8I=~x?46WxT zsPh7{tDP$lNH>rQ5d$_oHxd(nTW+p6MY*-0bL=n$Ni2x;F|5|W z)N35BkTTYWWKi%9&>1fT15qtW3WpFl^!mk)3J@r8En}DjGqW?XH|Y{U;BjPyH3I=r z1m6R4Ont-}km8Wrn1{44&L^Bv!jOHShi0X#9$AisxiaVG_8n{&`uOt8FE1@EjgOB{ zO-@P}CMGAP0M^v{#>|<_x@4%tB)F5*ksIw@w48E-q5RVi0$2qmL?jA_aF z{mt5&0RU-iZ0zXKqY@i7q`QWeK~wsAT+cK)3KJ6(p++*GF4n$I#XyC=><|(his6@MwFwPC<6K@ z!A-vN>Qhggk#8;!pV|G9`;UL*Bb}e_T)K2=d1L+JSR8)u0_$XsV3d(+EvVOX z4vKkU^>XR#(w(e2e62<^v^vjKt~Ii=S>t z)w5NR7byM_pAKRZn}DEc7gJG~#)FOY%&jrpmo*ua+*_2yxs75PEf9iVV<2$q0sOth z8CFK`Rkai^+LM)orp>J!UF|?eZWZgj9ka8OjaDtj8d5ZMb7d?Ic$7>2wfu4qEdIwyHy%{3Ux+n!-YHMHOaFG$;wnN2)2aFr1Vm$AdP zK#`SpnR((?PN@RfgLX4chEf&>0l=5Uf~4ki-YGV`wh$^r8s&f~#ZRJv1U;hnIhK+r zY~+OvWR|vIoe6P!=ySjh7`aje3<_qJ;!0p$CaMaRSHqeQhTr9^*UHSGluXgIUs0^= zhiY``r5;wO03(P7m#I*sLIv{b1j2|}<2_+nL(S%rZ5VDFcoM}!ed!V=S{8{!=6DFZ zDe@#SDq{JcG=!=nfZjl#=)_QYthZD`Hwf zxsf0k`f4=KO%e1owEkUjZX_JwOdvuYm8lBBut^a*iBFz>3gZ+EES0nLf&fa<1#9Pq zz`23ywG{K*)6__;S}&Fgtc1f1{m1o^tgfyrhp8lqt8vOHJG;ER{QUFJO9_f=bHPMg z?ny|dr>CVM?O@ZpL@?9@-$e$! zdK=&zWFEmo8zWS=VP;e)vxtT=SPbI2kibjHR%p+(Sxz+B==L`@HcSM?{*X`cNV~V` zD}SeESci$4hn+s_bUMm=O&qVUud7OWDyT*jv)*^lyxcv@Zn%LRpKZ>~9f)`R@Jo-g zN6xdpIvhb7E`>E&Pb8AC7S^R`ZKF>hPssDsl1C=2-%KjOss}i|MoCoQtgZ_4c_jc8 z72LuKqRkaOk8HF`=IRx0t&}4m6n!08p`QV_CrTtGg;`ly2}3SdC{PJYMNKI~EJUD= zapEfz2vtBHof2yb?~`>)kwe@zz>z&=BQ~3$7;n@T*H$D~JKi3XFbJzcV@|d->04M{ zjJc5eX)CC~Dc`7ZgTpZ}_})ag0#>YKQuO{cNY|7iyjj73Whu8|+<<*9hw@=MSXqYK zhLippA$%d@=!hcLvJo;R;CU~XIW|&+b={6!P9XB-9At)axovgb$P5!8%t?QM=SG7# zg7agIsg#LiSr!VJEy!uu!B8VDN!#MqK?1k#@)`B!5@;8T^%^iA$PRMNrcmFB4mMB_ zrJs2Aq@Q_W2_-djH{#YH$CMI*!zpIu9Bw>$a6+OXr?J1oHNBk;&WbIT)IY(yz~qs&PM%bxQ3+;%R6D2Y*Q_@f+Z zY_QPYe#m|Wbq55-t?q$Ya>XBXZ5t%{8u+!qt$FDb>(RbGXYcX)=Br}Em!E*&oniVD^UuApzW+lACP@>yo>Z!WFkn9^NeU$+Ndsah8_(Bnxh3@$7$cA~+qV0_p36d$Vl%jg=% zo+w%*S7jsFYh>hU=z%i(Nmz#maLNnNz^9m*n2L$g%h7BT<8W_p8w)_e%)-GSk_GfhBtj`xGU03t z3MvBzD2nnJT-|9vh5aN<{qQdjGsYvL>a+frf{{Mc?Ai0S>RUeMPusOkbM2{)j08ed zcurX)BjtkXzwswh6;kPM%ye@4_0U=5!;k^MU_)gWI%t6p+vthyp@MtoqbR54z~I$Z z-WLeLg9jXBKNe0ZEGRKj^snIwY*Wf=%9 z7LVj}Qwcju zMu`a`W3$S0z9Il?Yin@oM0r7Hl1Q!%F4k67R-}Y8H8lmN`xh=;c;bmC=H}*Po|%~$ zt!JwIg32VHC0FNEE1dH<bxAKa}rf*VPFEt7#np zb-Nx7He{aFp+e5;MqdHnjr0vjg8SMah<1Y#CPQ`_Dv;h0hSg_?eHN#RtWxo7Zd)bz_jCGtKozOXnV;pXZ7!l{>myrqRzwvb3AoD8 zPTxXsI1$Jl&59NJ^V3-!4xFY)cJoTtb)Iv}ilUT1aQ;lrt;fNk(|S=tv8_6%f(`Lv zM&G`1ec|S`?#)$)JFfzUUn;jO=6A*@7gxEE!%KUmRyH&x6R(Ir%bg5T@}Vv(>2~Av z5uT;UH#wS75~vpC6w(d)>b85#eplK^Z3Sv-ck=D<~CxpB}hWEuQjzZ zXuWmM%?E3f!@yVm6#6_&Y0raRJE#^20c25;fLf?-T8Cn&&CLO`D)K2P7xf3q>6Y=n zAu`}?r|UQ6T{O8_h$xtl=-Z&|gkO_9FB5mdD54l(_8667LzEit(VU>xh|fhh z6j^;&+8y7w4P6nm%RU%Y2E|eS#7~j(1H(bHFn5Y3#O5u(U)p9>u(V%v0+g>5<4;5R zwy+LMM5<5d178RRH=rUIbbTd+9nT$Qhi(`^N+)&>7~o=!yKRjmU+`0CD`*M^)3i&K zjYkh9P9%T1$yahx%D=G(yiuCXT8etu$X`=9WP%*$aVzFgfT_|c){j&X@`BQ7zu#xs zJ)Ks?K+%`PjHVO@TlZN4ZbdKOXa_UXzQ8&K8^2Dc1J`Jv(utEwibL{QicIq5#fukF z?vfAF)6@6ecb^myWhGL8lx3xC*=n^wWC}ftXrv4%;L%}?hRJZyPqfy6 z2%i8F`ab1Z3113p>aRW__BBg%>v5LeHEnAPr5u{S*@Tr;%#7H$ zl19rbtWtR{7@~s6liR3YPnwx!?y?f=>IHsU?--e>qSi$ei+IG+s1%0~7amd*?kVo) z&K^oPb3c`*#!$TDu6uuL*Yu;0KKkoV{@;=k4KxvHYJspFE5`SyZ@l~0Kl*R)YRryrNQey6^Vk@(NWPF!&%C0g7=i6#GfL2o8gp# z6KGlqUg$duCu<9ovGAcy=RQNqS%y4e2!=?3?f?8Qjgq0$pyn1N=_~oazD|sm@^kS_&_I&j~T2GJD6KxRUCSyd|Wwr^DCq^ z6ak;xN58q;pCbpQ2w?h`+D7J#f^i0xsR3;YSk@XgtCF9-;N{Yb>Pqc@-P1I5C5>+Q7Rw5@QWY%&ENb@<-uH` z_38va*iNr+!dXqXf6BNAsq>YLdkL0u7!03jg=VF&oRtz}12kh>>JvAm7$GRQ-$T2! z6!LryufvEoIWs4<+V_SP3w_>*f`Q#kvR)rF7&-hItq|X2K2e(%2fencg!rhSD8=s3 z?$d7igF^8}8=_iL*p?&oQr3-rqT}Ub+rhj;+?+vikV7HN1;d{Vw1$#_ptyD3SHVVk zC4QH421RZ|+N#uikz8BU(*eO+m_t3#+miWU+ytusP?aGqEWS>F^N-Mj*h;16BjOC zeEH><7qnEvY5q!h7y9n8| z6zwitxFF>vp?wcRapla@-k^dg3zDsbUv>oaPGv6=>z##;APyWAx8NER^Tt|{00qMAvCzCdAc@5HdnjFZC!=%fCu9i0ZXu&!GfQ|R5L%pg0R-kCFJq;R`y z*DlW8<+j-bV1pAN!I`+C%C32$#N=AkpL>>Z-6jgEBZh%IbR`vD>rx{t968F!U{Dzi z$_8Xtb;xyYx@!01*J$?0&K&Kve*33C_R;mr%000rR{hXufJj>K)w3`DAAkIZ8}IwM z2OoTJeo5W_(Nlpis9#=Kdg`gCZ@lrQ`|i7sD&a^9^_8!D<%Jhsxcjc-&ph*tq?3yB zg!PwRI`RMg@t;ghPXAB;{&)WJFaPo%{{A07@cs`TzxOVTU$mXxOliboQ}#{?3-Yh~ zaW2uXngE%aoy-X@rS5rvcL}3yW238U#>fa6_&X zbe6uv!xRn|`T2)Ov7sk_hY6txVa36^JmBp{n?0m71=YT!$OCHttU$NHvr78+)D zCTC#R0Y`<*3P6&!EX%CIbQ1SV$}zr6H?UyIEJbRQMM8mY5)M;wRnDr+mMtjdVJY`# zZnZwZxi#QRn%M%JQe*R#WI(}NK1g{(idccYmlN7Du-oklEAFD@9(a72(P{7Ay~-l4 z)4_JBgqdi!)lPRne-)%kC-#QlNBR?4K;_{xidI%uWV`5*74p}t0xkG2m0eg~UdE|= z;J|^myyYzbz;n+%2g2L*^t2R>z{3i-Fr^ZyGqNZKBS=iUkO9SMfW){(6%jbc5496& zl>f~Vv-_qX@iTd<5=>6|bbiSYUb=Ki)+S~0+1V+I6Sk!UZWyl?VSGcUE0>7gK=R}p zJ%LZCt5a3^XINcmE=3m`s*eVqCO7e4XDXq4M)^d6Z*YXSp+oO9RHR*gU}^_T&yCdo z!)Dm)^}hA}r!Vutx?XY}dH?_r07*naR3yIc-JnYKdh@yGUU=#ICqDSW5ANEvOX(7r zh`g*n=>GiA|Lli9{0rZE`la9ct>3aGB(V+-+_?YPv11?l(1*VM^{=0N<-|s>tIrgZ zk-%@K>p$UsLpLzr)`+q6D{c@eW08K!2peXH)~qZ>X?NIVryW~=70Q=55E@3}~VTnM?h-!ppH5T%Aw1r(NO$_N&5~~RWb9hO~QL-fM+?_ zVA=7aBY;!XXw7N2z`{Bo2jjgD!iUHX&djB-Ba$<#F!dPC+-l}xbHf-bv6 zm1UC;M)qae5SZlo1)&Ip*9)}=PP{0iX9O7LaX1`GDeLUnvr@jApPv`nU*+oRDxD95 ze*e&+LsQeU&p!JsIzhqaFehH_;U@(uoMn5u28c}P4qOj{BnEXVn?N1(0*9Vw)xMg| zCRiVxKY#xD=br~9Oeq(Ea;$uo9RcsA5J3?nI=JzpgT*~X2DE`>sCTNv)&r1`YGDI| zVFV$gp%k%Bb7@JGmf`wN%7Od$@0S3BAe~DkHkB~E$Mq10usn(ENyqC52D=VqKT1y= zV7TW3aI+O&>rx{t968EV5d$fk)r+y@JG+Avr5u6K+0x)v%`x{!LQl_c(&BIiY-?cN z20#h4%fy%(Qg~v!e=!L1D}jc(>!Q2fS?PC@MzC{suFeC_>`AlwPva;OPdxU7q<3$B z``aZ^TVG!{Dls~i_JITYBq@33*&kr96A>M}>A)vG@o`BSUV7=pC!c(LZf;HzaT3#Z zJ6+$&SQ!O5&z{CF^@|{rc6XsREy)~)TFXs6%B2;j@xD@SK;~pR92PU20lXIwG(sey zjn0Scz9Wk=yB6%cO+!ehpX`)#oI^N*2i5AKibk|8Sjf2&iz>oGSOHiHIUZevKxof; z^o>PA+huk+TR%Dm4D_sE$ORwjj)i(v$08w=f!qQq&O5245E6-+0A+nwkY zZ7v)^sIiX6;z(G@AOT2lP#iFDIUqjubK*cqi9_bSt|ZWg9C$Oe zd%I8RC@~^KmzdqJsn(xQHyAx)fU7V;LKITTRsc&O>7ryV$hi-Tq1}>|f``b=My@h> zxE*p1mc==dE%C5`&J8~VD6?zC|Ac@!U}R^P1X2oeQaDio4=ge=%ilPskvXC$F$a7h z_7OXdOAK!LR7`fqSB;MJ@V0l|{|mqH3*%E`zx%tt`|7L8gD4m#2y22@t2N-6Ez`@B^ei+3uNO8j`k}ta(%A+2;e3=plh)_Q{IVm6Z?c29w#}2^1QGxy9PQ6jB&_h2uYxA1I?u;%dtqMXkUC-;BWNQ#xX>|~y|3I-$Cz7jCDTn_~U zbpA~#PrjA!2ZKSqp1S{~=gYPVb4WC@X;&b0CR{**qQWN(`O2KQH(Eo1+u&(f4KH>J zQPe22LR~$>z;pZ~IP7YoR#PsLm6zmZO|tGaO%tLJVGq_;*T416hxhK=bKhI;?GFaV zRKwOd6hjs2fPV`G!(nucZ?O3VGDSg7)*N_U>dA=L$wnJ#C|5ws+kyIn&ml|fnaIEp4~F! z>{*E0CnK6Ul<$N$4j9y+h?>*T(`CgCfG;@QV9DCVQdvX=Or#$C(hBYJNo{iUK`+-w z$nGa{9IhGiAj}KJZo3Q%J~dZH3}7kelYumlX$jB=pzIU{Ww>DW_i}v4N$60uwdLqtkvlU~Fwr>VabGxB)}Sah%+x(|%zooJAQh zcx@yYlC)1f-@@gz+j=)smq;~%K1uYnO!Bl zIGD#0ENc#D)~t?u7zOSWweV+;)sqa}kSh+cp`1cxPanbntiRF&vXq2oCpIM`R`bvu zuaL|r7!mwQ{e?Q1$(?N6QdDO-1jMNcPpMf?TU}kHyAs#;a<(3j3H9-uh{nbz{`J58mq(5q zSzcQEHWATH81)oiw9a}wHax2qko%a`f7 zA;lyNfy}Y8va+C>mb|NZYzOiaj89vd5z0xFm(g5IfYMT(lr<*8v+ z1LhjsHuQTqaD?#?px{bR888?I#!lqO_yz(efOAn_IZ1vptcS{1PyqF*Fu~VROhVcz zT*zAxcsAQgNkSTun{!K}Fao41VE9|-m9$vBo{C`b0(VnRC9HUSQ)*?iQKA}HRd$pQ z4dql3U`EX6sy2k2aG$scDQ}8>(AhZ4`aI3;t^ad07_jSTzi>e<><#*>-SvnibJH`5 z^A1un%CyG9OD{ch^5n_)y!T)1*|TR5b!7SC~mw#E+ zX)H#zFA3j-3FmfT#+Red1N4wtrIOqQpF3SVa>JRosz*XgiH;9R?t8y@Nn5lA%1+T5 z473G@J`~6zkc##*TXk5Jp-Mtzj@&pa;(TOtepSxI7}*x4653d$h9a0Vle1bqer?ss zAU5a219VmKs63!Es!Cscl+rxTBzJn9+lx#M+LRHYs@_wIRi`hxO{0Wa(lwUFA-r)Y zz(}HzTYm~_BFc$eNk@ua<`%KkA_o-}ml!QoL;%b47oBuKa%uzRMn(PPQW5ku5hZ2lW{q^6x=RNQF z;0J!D5oQz_=;D$9$g;GX0tCz9P}dCZeCi53Hl#>^vb|mpQHqxgzHo&MsZ~%%_!X(^E4@^oRizbbazAOHEBr zfM=cR3&BYO?kBGUJFR5rt~wZ7lT)@vgv-I$T7|f?xUAZ!G+H2}^|FHP z$~h>#h6#-Mv=QM@B;7&3)9FZ}(@uhx3Nffo#9|ATT;AXK#y4b!2OfA}BzT63B}!4@ zAOG=-fBeUPa?jnzfBS#_o!Qx0^s~I3-jpd<^1)QJiZCaA;9dr&K0%UG%6ad@fK;hS zzM?sEVRpgBxSinG1A7X-JqrA+<)O=C^x-dQE7RXBU+ZJiFO}QPk%`t&Qe-3(;6PY1 zC6F1SgT=D)Ms*gpO17ecMXmTSID&^i3Us`Rx=^&=VE(jbZLOy>=d6VhTdzH^7s{~Q zZKddE5x`D{G>;8Y<8*y7rqk39D9 zBaf?VxUi8!lt9q)MS z{r5THdbZP>DLKX}c%Wh?Hta!3kPx{^YmB151{+d2Nh@LYwp>34v_kci=uJ!47{lCV zNs=|fQPDEB1&FXgnQ{K3vKAW20Q^q$s*2&ZaVO4{5+<-R)znJEd3!;+1yO{f*bu_C zucIbU6k6Y04Q~j2t2tVmqZUZJ43tVx1zpm8Qwjo|d%PXsLf_sciKLr8EG94hL9 zQH+i9PbF4}n<_(BO+OjeRxznFaAtBL7@!u&QiM1fp6QrMSwgkVNxw)R zV`ZW#LJ9*mWmYA;qn7p#NQrfx1U7`6sOu9~vZe+cn(`^?beUNWfkwAS!)Z=TK#`0v z?KXz-(6Zk|0>&Y57RG@i*K2eL>DoT!;G&KO(TGI35dJi~pT_sUjey*PL4GjjXc9M&$ z^$J^rX|HvsGnLa#92dn_YzY1KkkmRqbEVSU8m_$CP7?ZNqc4KR^>w+y)LYGVbBrY_ z3O7<&N#|ZZdGgukzW2~W58b$LuZV`AXiDn|1goiif0(d7Ph^Hz@L*}-vi#R>G#~!P z*Z=v;U+PDFN#fu0u6M+P;kBDd+v#;l!aJO1*}2U#2aOyP)<8>ft<0>dwNd+kQ_y^D zx^QHkKo}MQvKZ|i7Ep#2zUWfQ@+i*#8NJBS9XjBk=FPfL1u`a<{%{5QasaV z5*W>?jqB#n9#TUXa%GBD(-o>X)P^G>1%-ExODi`&we=2&gm;rt_>r8hGy>vcq8t?^@BhF1e;-kF}2$Y+cHyLc1JO*L3CSr(M?CcFX1 zOCb-U!Qk$@-VzP@w;z3?7Pb&P#1gmzm1QybAy`OCNvmF~#nE7WZSAH5H;y%1%Y#Ud ze##)iotx}}idPX3XKV&1i4ya;x(tL>Y(z%ETdlEXvn|o~6~O{< zsC8Lo9`IS3J4RI!ofXch$EGTooScMbb!@TC>uslNnXX(c%I-TEl^;s;Ha zo&5~o`+IFl)~}hclvlIn7o%kVuHA2)KX_orfvMIQAI9J|4j5TUYmOW_@>hTL7c(<6 zj7P&L%B47x4!-m4_kQ*>e?2ud)gNpmF}wBFTV*M{;gL9$pB(4Z+v!c2=w#*|V^=N^ zX1E-pG zjX-3%H}affK%K;ZgHUjYmEp-?lMbw#1X_c`C?koaP3XS~2vp7(F%E~h`9alvfQv;S zUPRe^VIY5iEI=c{a8T`hDuOUyCaF;2)=K5dRK5Ujz7iS59UvTKWs7S<>LIEeltRpE zK`N)f=N`U7Rdh}9?3AXToNN?Y#nCd5fZV+XR*Lr8XflTo_Q;A-%68q`D9bTVd!5iv zIRiv0QLc|o>_LEmLK_mJ{ZQDLhfK>J4j2TVmY}$k&5n^BlG3?Bv0Y@Lm!3?KWe!KQ zB7?g0-Y?*_ByYt1%6%}LPyUGDPjHOM$xIN$mC?pVUtf8}VOSd(xpo` z-?UG17YhpuQmXme|N5mbe({SnEeFz?+wC?}*KUAqrCtk@mfG`9J_DW`_z+P>u(IC@Tk|!0J^Mh z@oJ%RuN|bG&!Fls4DP-6-uFHDu8S8he&)0PxVX3&z@dPEwhWeJ>%(EJFC-IZ1noXz z0)6S(7~pj=t9`o2tqo zdib!}8_|4$&?mLDRcFokZ(f@;-i>eDvG+fI=zoyZaGce6#0EqFPDIomYaTvwNDy_q zTu>(_CZx#6vOC$BmIN{wJlEtC%us9yn^$^P1)4a z;<$!$7x`68$Ydi^a(yPJ?WGHc zSutvUZWau>`%{Vvt~HCQ(%XX2F+P;4=Y?~tC%%6sNO}|PSqYJR-ENQ1&(H7Ju>-)v znkD3ulaqJcai^?&qpu=742J#n_4SR7j=mF%At|}Y9=FM7Srux2W>BGg&<5wupFe%( zOkJDpF+2JwN&0LboC0z_+&MoL#e*Nddhx)){b4;2ai3oHg5MXRJ=Z&YWTR30zz6=j z+m0LnAgclgf zf4-&(?mB=6X(WoE&rD3p);nt3kOW4-fm^i%6->rUIDUW}MLzi1@Am`ic6?hDd=n=} z7Q#tR-}o75DOx0b>8%ct=bx4^Nu1@i%Rz-novWnt&Z1-3Z1LR4xb1Nu zuYwIKFX;gE@ZiGZlya7?0INQA8=|L;a0}*wA+pJ-pM0>!jVc5$i5lwntAM09YaAb7 zQ45mOp8ym>L^T}_#~yfOms!?!MXA~*po41YBrOHngV2gGhvp%w0aGAzJD3Xw%7M7W zBmC+Jc!U~N0O}61>_30?8{dBP@jW-p@7lGiIUc@n;+4I7_jfj;OA8m20V;0@ExUpZ zq3p%!)2A<8y2QfT#KeS@>DukFnVA{wT{G!)I?%d^M6cJAa-+}!2_Oo6X$m67m}nfN zYdHF-l`0FOQyB)#A`4%5;ro{t*LUyU|K)%F%pg`Ylc~7tCf;m70w7_*nAL=4vZVaE zc=19sHMM8=Zuz`1;LHZf@b&7A_{W)!6%p&RiI8glCOU8mvp17)tBJ#;uL_lj*a&rO z`YZ4{3$vw)#T2$Ki-3)&i2B#`5@|bar)!-k4cycsVw-g;gAXNlk*~pW0@4+M{z9yN zNp_XTNu+OVz;=RVX#@q&!4dp4S|Yk?8;%x;-B!@Lo!(f<;WHdQ$>BWc*+Fh4f^bgA z$fZrtO`T13 zi|mO2BZj`hQYV_Mm?UdpD>_}gcri(y(cvML|Cna8DW$tsb1bp_VtO*Ht*tFBEh#X> zaAoDPY-i!Jl5bTY_=XaA>X3r^)YR1c{5(WrNVFrX220pqT^qImGZrJGC_`XK3Ar03b`D zIY12tCtwI;^q+#EIBQ`5R7OP!I$ux#D#JtjQP&V^fCNtKtWp7mg!b1s2T61Y?9kMv zR2ubi>I_|Z9n#nkTL2@2Z6Az`8x;zM zqIJR|N;#Rtu;kVl)}mLKaYP7%JP$?=gmm^s>V`;iuwmM?a!UTgH4b7%4tnU^C<4Rnmp2b724W3Hz}yNQ zQsYcfDJa1wDHx28O^%O`cl!gCbZ~;Oh9RX)9nkAAs~_bI1W!%!MsMQuT1h@HFE47} zU3v(NE~Bz4i3O8l+RDlrV{6RR52cj5ayc`lKxl-?Bns8+5=wf~8VwM$zTe$Iw8$ji zNZIM$d+(KE;Vrk^0x-*Gu3W|RyWOtr{rdWPPbX#_w`x4clkHZcJvNAwSUK~mCBiyc z)fV8gmDA@hE40WBDX7~~gJ6k6?c1dxVeUu6SVyggnWnlMCWnt4>?FO_VP|c9MJ}I! z7_D+GrOSRxgn=C(V5!}#fA|+aba3D9J8nHZjQOWN^{IdLFMnBP__M$K+ta5{vviBUDEXr;dbKQ71X9C zXL;saG0)kgFhiAgD+Q)6ns!K-U*mZR9^SxJm)-ExRg8ZwR0Npt4!JWwS;iyzc6w7L ze{eT(a-*a=dm~g}@l{@%QGQPH^Vs7Fr7X&n7{<-@KvA7}Fi@6=SqB)oHasIcE>iaZ zlB*6WUk-3;20p)rOwE8dKcj&^art3;qc5U-Ub3GuVFV=Mz^ zbvjA0kyk?z7`gSAH%haB$`;H$r`nP+EuR3u)-yqDC`MIVluF>FcmUK<_l#gOhBta6YZmqb zP+fKn`cfc_;$UieJ`sbZrKP0TQ#NMcuu4fj#s&{s4D$vQE5wGV(2GHO@Cd*O+XM2U z5v}1b2Nhux=Uu;t`KiQG37$5|~S-{a%q|1Uk78Os3gXd+dZY>K=PfyCu zNh$Bbg$pN6oPa2Q^}3RfHuWc7p~Xff5&E<&)O9<&6Xzf&}B(o%fA3>bKu|Pztg4zvZoGPoGg>=s8&@+N9u32ZU|yluRMP zoI99N1JBj@yMS=d)DkIqr^~$pt(GIVbH|RFB5MippajMm@yO!a3DYJxsNzJI>NW?C zsk&h46Wi*8Qt5^eLCGcG6sCTyM2-z)Bk}Sw7^L zCtWPL5N4pVPAQxwTxu0-Ai@?amsxN@i4Z|r?k#R3-eN!MgpGxLNIa-`jn}QAb$dV;rMQkgZ6}~g7 z(qo7!6Rdo?2IRCP&I2SEV)*^Jfs}c9b!BF5_W%0d{`ZB2 zg^zvoqxau`KWBX@TJ{~AH2?q*07*naROmqGi4-D~#TO@vspQCpkvZo4#XQ``X`lkX z1CNwylz^x8Cn1D7&juHvbt0;%+XXt+6A?M+5XSWj2T4+cG_b_lajN3o#yCLSj((scmq*(1b`#xphRRGf8*>N@Z8kPK>+7ozKJeaGUU_A1X7bqWw@!{v z$nEds$rCE0EvP%lbaV=F=FAz{k*TRE&_Trz6d7~h0_l!>o`m83rVI!hVQpq|3Pwj{ z&;GX4c6yD|l`|N*>_G|JK+|Y}5YJjzmR+DMb?)LRSy9`IZ9BbQiSFF=c$is>5$ftq zjEZxO*IDorSpk|ej$_#25^_<2r5xDkmS$^61jG}=Pd2)k3x;rGyVE`b7%?~36GC4& zjs$}~6k@|#V5KUfCMID@G!P7o7Ug^*ZMmf+11~%1c zfzWE4AgaVMPtn|PO69s65hTHUpn<}iL7^C+pHM;08A@UAdGNNu#i8snGgnB?6!qr= z9h8(AC6GJ)av-7Z4FO=R5FpH@8>Uo}KiMd>j1CGbTd+wU`4U;8l;}cuaa6QYSl$#B zSrY0{nVNd?M>86`M_qi`T_skFOzWeTDcOChupZcl8hi{ew z&)VA3dUqoXl=~L&suCwL9SA`t8;$~2jsR0HEX?D^9(dq^^XJd6cRDhsma>N614as6 z)c%dxdn&XVz|O*VXAzMplp;aOUD~X!BkKn@q}-YzQ2a9;D@*?E^fmzg#l^+Bxp^rN zj*pK^3ctR-K07r z!v&^H01N;ot6E&@{Mn!X&CweVN=bXIHyEFue)y5cmH(Ka7HcnQbX$}U-EQaEXP-rh zbYfy+a&l7sm2aeoC`DZP6B?@3>dcY?XYSFd%SN3I`J*6_poQLHF7@6{+o@u5W}P!9 zt5-rZi%};Oe$5WO^7+@`ZuyPI(?yFr}TB z_!A~<2MO?mo z`6qtjCqDl1j|(0?`Mswfe*BS7f9~%edhY}G-h1!c-g10y_J+>-<+Zi7xF)o@T?$?< zFuA>x1tH=B&(chx@699t-}~P8nk|*M7SE)VvSY^%`3W4D%hn~NQkqg`f&Kpc{5<8u zbe%ve2tR{1u~x7bMsu=(Aypx)e3H;Cz>{y!%|!o1K<9Wf!KWr=`Tmm^-OxsxHyVva&)opwYmuXFF}DEu<>b&zWpRa-jcd3&4yt zT~lx#e;bX>#!edBwr$%+W7}wK+iYyx4VpBz&BovUFTPx4Ci7LXogVod@L<;EyXd*F_=BMv04x{mu=S;L7`!&Hb>Yng+hGNYu#VuInf!R$v;(FWdv zwJ|HjA3dP)HcoyfLNjA<>$%kvMh~pfdg8_)6`xNJ^6np-7qMI_dL*{$xgU5GXUK z+dRf9cpTSlj>QvwJ(z3pEZB z&xe5|mSOmjnh-RSg8bo782qtA=cz@e%h%_}YC?^ejJb5pgLSc(ey9XtWjcuBteh;4 zmenR2qE?YhW#*8s%^ifDh`)|@x|cU!3e&PyQ5~B3If|Z`205h2U-L+T3R-5uL?u%V z+TKx~W60%VE&=z8)!*w5#p#)maF!9yc`o7Kr4NX&R+(vQDD#r0*R9RGSxFi?QNp4Y zm|vY$??}j3W<{0xH?C^`EmAfpw1``~aD<}ktw~T9u&MXrQG1a7^2_hbt)u(>B6rs6|Dxr__YCe>)o{ zPyM41tT`%%F)_go{P)XwPOc4R7znc^-QY@T9#XfN1ifG9q{0g1)ku8C%^3Z8%*u8)MJbO^n(2_47B;<67 z$1`$*b*snz`nD-ai!(jwtjmP?SJ{Z3^qG}*iKFrrH=(~_bSHrVZ#rsD*rbd@XDY$m zI|+_HT_#Eju`PH#9i+G`Py75)>>zTFDtxdJQfv_ zm*Tq(>#gm%mPD2~Wa1L%bdWYu2c;zm??xH;8|EmsMo9dG=+W&yQprl=i3|tlm>WlyET{#xTI5_Q@zDbi*IWa6`P@OIxo}EqTfOmmM6E#y; zA+O)IX-U&e+j@F>dw#z>#>B$fw{ip;EDhf?kqP;|A7)J>N|{^H7Q(8Jd0r4=OD6^(%SoXG0kaLd1|30_XC?cTXArqp}SFxJ%Y7^R~1VfdM4AaKwimBuw-`NZ-dQCM&u{ zF*GUqTB2}8q{%cN#AOXSB;tWImoU#VpYWmAc^8>&TG7D)B!P4M!8|T7wG-!9?^&tF zpo>%P3MVAf2!!|E`Ic~dWwrPR!=nB`Ds|~-+SL&P>>J9f%Aber*oA(~ISGNjFGe60 zTxb|K8*-F~sFX+_DjTZOEvb%arA&j)>oD}P&;Il{ri%o|#t;CZJP-EdA}CK; zcfK8YQt#?e%2R{HL_H}l_bV1CS#D&M91!96T^FXLORUTmS5*7KD%S(5kT?W7B$#41 zCkx@C(_;BS5TLHwnWW;_l+q^c&CO(C{iJOh?=wI0l7+sq4L?qx z{r3g{9CbKx?HgemkWC!TRi}58$%8LbGsnbA`?Hu)6OoWz)~AP1zdUDrm5=nG|Af-$ z9x5BXoopmdY+_AR@F}_PVM?&;*RR{@#qF&Id=2;G#V_JvcWCw8>A zw>LM3+=Yk}dD1lTpR2<=xCcrO{D5idMPf49IaQbm;pL|?T5jRW0J3evs?#_M9~^fW zjt_KF({$OP^ib|==7%NagyN%wK2l~V#5Gxw$2=y2gzTug4p{Hu-1cokhf&Pox&>OOr3;HB~C z@%p{K9h(mSHQ|1I-T?h;l`Eps_~!lx*=-zeZS5Ami;nV~Kr%Xc)Dc13wl>FsWZfeA}6A8+|!xz)QB^Yj8 z|2aAkJ1cFCDi?6kwRxGEbz&Na_}~2!hUOP+%y0K(>GH&DFNi~gZ?IM)2t zHiSzW-aMt+gb}k?J4tJ9Fed-CaT^@CQ}_sWCa0`0jui&S6mmOZEaa+tRq(b-^-31$ z`O^|J5QWXtUsm5Q>E|TUGiodks#|Zrnq&os;W@gyW&~jR^&-Wi0 zN0Lx;O!})jKE025w_kRV1GMf0bs`l#VVqtr923A+89qI0X-2l+M-=#}{c0GVDTgsE4eqY&dES#tU~B-n#qPm;{r93$0nW zG1OJ3#I&uH{Vu{Zl$Ek_AxE=@$8Zo%aOtmLn8HwRsobMRlk(&^2%DVJfRi(XK$%Bh zH+K9!HX*3Pm1weMDe!@u|M^gEX<;#&!~Og_{_`yVeIlQb$Jxr=-MwcW?G@XjrKz{M z^A32Be%RT)Z(V8zPID- zvCM|NCd7)&P~h&8l1#Y!{_4#LFL_DEA_1~+WVfN7nfM0XkxPwIS1ADI@uv3=8LX=d zei0!kKjbUCdFB&7{W(ORagy>pWnv4^v`byHw?zwL7{o|vxK(|A1!PKRLQ#tP90RoYqnoVe>)0LbQmX3PB7rE-DS z-|>IW8@z0b!7%+lT>{!nS7z6*`TlHbrE{O#_-LR>#~1Jjr{sdC|8Y)#In(T=@L?8w z`)Yb70C7eiTia~%@$v9cULZfrX;KmcBSC>dF=A3Kfri4%X<+8SL3nD~<);)&kZ(Yw z;Ag=!B2+dbAuG&jQsBzhx$F31ed||Gn&s&Cl5GXaSdIgpuuJL~vN()pHh4t$xO3jt zrOo9c@GPCEo5SnN^-N8;7B21YW|Q12uTWr@$2KUZI6NM95}TIl4KBjnlU4FOL;GAg zbGcSiFS1CZR{SsH?8q^4+S<-dqR$3Y={Z}6+2fTWC`;d(-H-i|s~hbP-Z6+tyT*QB z40N>Sv8IWtE)d5&b@WW&vXULkT~|_BT$O3l&G9q@TsNb|eVxP4t+>`)%=dP?FK#^@ zl0!l=|AUTHn6-+dOp?LU)cH0C-5jR7Fb2$_DWRY$hKrL%^rJF-j>B044$6Sk=u#OlvVT@bJ5=X&D}F? zbn<0uFkoh9=Iv`$=UtZhQkG02`3JWGv!n=!zG=~*AsRX^jy6Q)b!_hM1Os?`kim;r zxYV6jIP-op7y}^h^c{Hf0gXKe)0wQgNl`@$N!9hA3iZ7oxMxp0pd-wtqYr1xmLt&^ zSbB~I>gppu;Tb{bm`#Qw0fTdgsJQh?U2Zy^wmaZCJw84b^+kb$$Mo&>c{T_{1cycn zod$IIf7^a+`?+n%!x@-RJ8vZPo_{0P8AHRTOr- zF8!fV<;_-8@4!avVPr*q|fpzWbkyfx}RI#V~PrgL?A+t;lyAFf!o(^!n9~TyadZ< zbI9lU%9)!V*6I6@op*{h;iCSE>~-271?+WQhJC^wn{JveF07qJpC&=jHMT4RvM+z$ z4nSHFOa>yJ@!Q@MXklhz5XN?3%A<36qo5+0+bt1)IId^5_*L5J@`oa;V;qol=0NC` zjc~;9>JnuxsC@i{#+)!4q4zS^flAF1Aj0&AsSf+%JhFJ*@+DEui*dE68%iQY7Ur;E zY@69wi#sqNPW-h^QrmB z+#{aZRFVbn$S-`0-^nKdIxefarlMKdXWyYPXX_EG1{O>6fPH0!Xb{7+KUSm@*ONLw zWHm=&@5*7K$5q!3drI6mmhe~0NXTLu>EFA%yHx9N&neP&B%@4=wz^!O$BR4`WCPy` zFGOgx`o7+w@^#qZqnzE6O?BrHd>*s;(sYBhg#`qj<%_@9{cM*xLIXTH?tFb9TY*sK zr3=%|^HHtozhKe?;N+}JtaQA-fe3`p<2L0Ed-{oFF zNcN4s;-4^T!Hw_!-MvP=L666^07zyy24s~`7uu(OF6ws&=x?$RUN2?%Mo4}eOqnin zntGWelCb`;j_Y&YLm(^%3qntkUmUx#VqzV0)M{#kURG#eAG8rlDlP|dN+XlZUl;Gp zC5Ir%ve9wket+hnh}FugotnFNA7?4uxP&K}P2v+tXoX}L0jYhFxGacakP=AH+fE3w z`{}~rG^-*wT~Mj-zugFs-8B!YChb?D&AMYl&nn4h0m!hug#PpTJ|wDY;Lwy2;eWem ziV9s_%;xvu5UK~VFitr8US@`nKVZeccj~N49EZXY>$~qJ=Z!`4fIy;&WJ>VnZ0>sx zzzBZZb={3j?y%W-U(+<(2~g#{9#_7HshT2k#74J!BfwsDe>67Ppqz7P<@4ihXd9lP zedn}1zp|pj`yf$p({)jPj{liW?dx%6rP!P!lw3BA?{1tF&@}aaeZKwZI7|Z!7a$FY z2@tEWOeCgZvYPeYd$*Q_HHT9g+n)Qep19AyC5ghSF25WDoRlLvKVliXZ*fetJ`(Br?y&umWkFu|~0CWQ|TidM;n>6*q>_MiimI980u#|ky8?pd=d)^C!2jKvR zfaE&wI|c8H3HI)71M}{vLF+w+G~)2rX2pR})uP zRnhRhe)WIEgM>jp5uGhJIS#$rf89UG3IdusnP}R*F!P*|Jm0;SDTXctDZjnjV-SUU z{U%6H&o4h@(fwd8%TpL7t4umZT*f$$NUUbr<_5v(R~LD=bdT-4$NR1y&@h`zOLsRz z0XeSIT0*}~y4o%0Mq;ktP89=qZ2u4yqzb;@d|U^7y>0rqhW+8Y?!GVR$@6^AR3P95 zrx9>IHGKnTufJ=CI28!8iY394Tii9`eLGn2ja&_nQWJ|Qs!Y)s&`TW@_G_lA9MAH9 z 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 { write: false, target: 'es2022', legalComments: 'none', + loader: {'.woff2': 'base64'}, // a machine's own font, as the teardown kit's build loads it logLevel: 'warning', }); return res.outputFiles[0].text.replace(/<\/script/g, '<\\/script'); diff --git a/scripts/machines.mjs b/scripts/machines.mjs index a73ce2c..485c80f 100644 --- a/scripts/machines.mjs +++ b/scripts/machines.mjs @@ -1,6 +1,35 @@ // The collection: one entry per machine, newest first (the gallery's order). Each machine lives in machines//, // its live page's entry point is `entry`, its share card `og` (1200 x 630, also the gallery's thumbnail). export const MACHINES = [ + { + slug: 'rope', + name: 'Rope', + entry: 'machines/rope/agc-live/main.js', + og: 'machines/rope/og.png', + meta: { + en: { + title: 'Rope · the Apollo Guidance Computer, taken apart', + line: 'The Apollo Guidance Computer and its DSKY: a program woven into core rope, one kind of gate, and the 1202 alarm of Apollo 11.', + description: + 'The Apollo Guidance Computer you can take apart in the browser: a word read from the core rope bit by bit, an erasable core read and rewritten, the Executive running out of core sets as the radar steals cycles, the 1202 of Apollo 11. A model after public sources (MIT Instrumentation Lab, NASA); not affiliated with NASA or MIT.', + locale: 'en_US', + }, + fr: { + title: 'Rope · l’ordinateur de bord d’Apollo, démonté', + line: 'L’Apollo Guidance Computer et son DSKY : un programme tissé dans la mémoire à tores, un seul type de porte, et l’alarme 1202 d’Apollo 11.', + description: + 'L’Apollo Guidance Computer à démonter dans le navigateur : un mot lu bit par bit dans la core rope, un tore effaçable lu puis réécrit, l’Executive à court de core sets quand le radar vole des cycles, le 1202 d’Apollo 11. Un modèle d’après les sources publiques (MIT Instrumentation Lab, NASA) ; sans lien avec la NASA ni le MIT.', + locale: 'fr_FR', + }, + es: { + title: 'Rope · el ordenador de guiado del Apolo, desmontado', + line: 'El Apollo Guidance Computer y su DSKY: un programa tejido en memoria de núcleos, un solo tipo de puerta y la alarma 1202 del Apolo 11.', + description: + 'El Apollo Guidance Computer para desmontar en el navegador: una palabra leída bit a bit en la core rope, un núcleo borrable leído y reescrito, el Executive sin core sets mientras el radar roba ciclos, el 1202 del Apolo 11. Un modelo según fuentes públicas (MIT Instrumentation Lab, NASA); sin relación con la NASA ni el MIT.', + 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, the Apollo Guidance Computer.', 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, l’ordinateur de bord d’Apollo.', 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, el ordenador de guiado del Apolo.', locale: 'es_ES', }, }; From c710abebb4f81b75ca854b489d41f6c915683738 Mon Sep 17 00:00:00 2001 From: storagebits <48120561+storagebits@users.noreply.github.com> Date: Wed, 4 Nov 2026 22:29:49 -0500 Subject: [PATCH 4/4] Rope and Pepper share cards without the console; the gallery card rebuilt from them Rope: the film at 6 s, the trays open; Pepper: frame 0 framed on the calculator. Both rendered with the clean config, written by ffmpeg with -map_metadata -1; FILM.md gives the commands. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BzxZC5aA7ZkPTd3m9Kq4wy --- machines/pepper/FILM.md | 6 +++--- machines/pepper/og.png | Bin 488124 -> 457994 bytes machines/rope/FILM.md | 2 +- machines/rope/og.png | Bin 513362 -> 580688 bytes static/og.png | Bin 594734 -> 605015 bytes 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/machines/pepper/FILM.md b/machines/pepper/FILM.md index 038f215..703e766 100644 --- a/machines/pepper/FILM.md +++ b/machines/pepper/FILM.md @@ -15,11 +15,11 @@ python3 "$SKILL_DIR/run_sfx.py" curta-shared/score.py # teardown-out/pepper-sc 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: +The share card is frame 0 of the film without the sheet, framed on the calculator, 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 +node "$SKILL_DIR/sims/capture.mjs" curta-film --config /tmp/clean.json --size 1600x900 --dpr 1.2 --still 0 --out teardown-out/frame0.png # {"lang":"en","clean":true} +ffmpeg -y -i teardown-out/frame0.png -vf "crop=1600:840:145:80,scale=1200:630" -map_metadata -1 og.png ``` On macOS, Playwright's headless shell may get no WebGL context; point the capture at Chrome: diff --git a/machines/pepper/og.png b/machines/pepper/og.png index ebe39841556bcd054b9e2c6980d0dc0101a9617e..cec3775250d4ef572e072011b1dc80fc7f513238 100644 GIT binary patch literal 457994 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

IlF?bY&hFXjjow8D4lPF6(QB0n6Y=&GaEy-gk-; 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

MMv1LRvUD^Tkml5+ws_@X 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 { + const d = document.createElement('div'); + d.innerHTML = h.trim(); + return d.firstElementChild; +}; +const fInt = (x) => nf(Math.round(x)); +const D2R = Math.PI / 180; + +/** a round dial: the face and ticks are drawn once, the needle every frame */ +function dial(svg, {cx, cy, r, min, max, major, minor, label, unit, scaleTxt = (v) => nf(v), red, skipEnds = false}) { + const a0 = -225; + const a1 = 45; + const ang = (v) => a0 + ((v - min) / (max - min)) * (a1 - a0); + const P = (a, rr) => [cx + Math.cos(a * D2R) * rr, cy + Math.sin(a * D2R) * rr]; + let h = ``; + for (let v = min; v <= max + 1e-6; v += minor) { + const isMaj = Math.abs(((v - min) / major) % 1) < 1e-6 || Math.abs(((v - min) / major) % 1 - 1) < 1e-6; + const [x0, y0] = P(ang(v), r - 6); + const [x1, y1] = P(ang(v), r - (isMaj ? 15 : 10)); + h += ``; + if (isMaj && !(skipEnds && (Math.abs(v - min) < 1e-6 || Math.abs(v - max) < 1e-6))) { + const [tx, ty] = P(ang(v), r - (r > 60 ? 26 : 23)); + h += `${scaleTxt(v)}`; + } + } + if (red !== undefined) { + const [x0, y0] = P(ang(red), r - 5); + const [x1, y1] = P(ang(red), r - 18); + h += ``; + } + const ly = cy + r * (r > 60 ? 0.42 : 0.66); + h += `${label}`; + h += `${unit}`; + h += ``; + svg.insertAdjacentHTML('beforeend', h); + const ndl = svg.lastElementChild.previousElementSibling; + return (v) => ndl.setAttribute('transform', `rotate(${ang(Math.min(max, Math.max(min, v))) + 90} ${cx} ${cy})`); +} + +export function createConsole(app) { + const style = document.createElement('style'); + style.textContent = CSS; + document.head.appendChild(style); + const ui = el(`