From 0edf61d53205c5092965312d1360139807941a2b Mon Sep 17 00:00:00 2001 From: vprdev Date: Sun, 11 Oct 2026 10:43:26 -0700 Subject: [PATCH 01/12] Add the Halloween wallpaper (draft) --- wallpapers/halloween.ts | 1358 +++++++++++++++++++++++++++++++++++++++ wallpapers/index.ts | 3 +- 2 files changed, 1360 insertions(+), 1 deletion(-) create mode 100644 wallpapers/halloween.ts diff --git a/wallpapers/halloween.ts b/wallpapers/halloween.ts new file mode 100644 index 0000000..ded4636 --- /dev/null +++ b/wallpapers/halloween.ts @@ -0,0 +1,1358 @@ +import { Canvas, cap, ell, type Lighting, type Part } from "../src/canvas" +import { body, chain, quadruped, stepGait, stride, gait, type Gait } from "../src/creature" +import { eggWait } from "../src/egg" +import { flyAway, startle, type Flier } from "../src/flock" +import { lightPool } from "../src/light" +import { LightMap, firelight } from "../src/lightmap" +import { TAU, clamp, fbm1, fbm2, hash, hash2, lerp, rand, smoothstep, type RGB } from "../src/math" +import { driftClouds, makeClouds, makeStars, makeStorm, paintClouds, paintSky, paintStars, paintStorm, type Cloud, type Orb, type Star } from "../src/sky" +import { touch } from "../src/touched" +import type { Activity, Settings, Time, Wallpaper } from "../src/wallpaper" +import { WeatherLayer } from "../src/weather" +import { gust } from "../src/wind" + +// The scene runs slower than real time, which keeps it calm behind text. +const TIME_SCALE = 0.35 +// Trick-or-treaters, the cat, bats, ghosts, the witch and the egg's rider move at a quarter of scene speed. +const CREATURE_SPEED = 0.25 +// The far ridge meets the sky here, the houses stand on YARD, the iron fences stand on FENCE and the street's +// trick-or-treaters walk between WALK0 and WALK1, all in screen heights from the top. +const HORIZON = 0.6 +const YARD = 0.765 +const FENCE = 0.8 +const WALK0 = 0.865 +const WALK1 = 0.915 +// A trick-or-treater's height and stride, in screen heights. +const KID = 0.075 +const KID_STRIDE = 0.05 +// The egg: a headless rider gallops along the street, this many creature seconds from edge to edge. +const GALLOP = 3.2 +// Teeming: seconds between the witch's crossings, in scene seconds. +const WITCH_GAP: [number, number] = [70, 140] + +// Everything that changes with the time of day. Objects keep one daytime color and paint() darkens it; the lights +// (windows, pumpkins, lanterns) and big surfaces have their own colors per look. Night keeps every highlight amber, +// orange, violet or teal: the text on top is white. +interface Look { + style: "front" | "rim" + light: RGB + sky: [number, RGB][] + // The sun or moon, its x in screen heights from the hill's crest. + orb: Orb + stars: number + clouds: [top: RGB, bottom: RGB] + ridge: [far: RGB, near: RGB] + hill: RGB + meadow: RGB + street: RGB + walls: RGB[] + roof: RGB + glass: RGB + window: RGB + // Share of windows lit, and how bright pumpkins, lanterns and windows glow. + lit: number + glow: number + fog: RGB + fogAlpha: number + ghost: RGB + skin: RGB + tint: RGB + night: boolean +} + +const LOOKS: Record = { + // An amber autumn afternoon: a hazy sky going gold toward the horizon, orange trees and pumpkins in the sun. + day: { + style: "front", + light: [1, 0.85, 0.6], + sky: [ + [0, [0.3, 0.38, 0.52]], + [0.32, [0.6, 0.56, 0.52]], + [HORIZON, [0.98, 0.7, 0.38]], + ], + orb: { x: 0.12, y: 0.15, r: 0.045, core: [3.4, 2.6, 1.5], glow: [1, 0.7, 0.35], near: 0.4, wide: 0.22 }, + stars: 0, + clouds: [ + [1, 0.86, 0.68], + [0.62, 0.5, 0.46], + ], + ridge: [ + [0.66, 0.52, 0.44], + [0.5, 0.36, 0.26], + ], + hill: [0.46, 0.33, 0.14], + meadow: [0.5, 0.38, 0.17], + street: [0.3, 0.26, 0.24], + walls: [ + [0.42, 0.34, 0.5], + [0.34, 0.4, 0.3], + [0.62, 0.44, 0.24], + [0.3, 0.33, 0.42], + [0.52, 0.3, 0.26], + ], + roof: [0.17, 0.13, 0.15], + glass: [0.1, 0.09, 0.12], + window: [0.95, 0.62, 0.25], + lit: 0.12, + glow: 0.45, + fog: [0.9, 0.74, 0.55], + fogAlpha: 0.22, + ghost: [0.75, 0.95, 0.85], + skin: [0.92, 0.43, 0.06], + tint: [1, 1, 1], + night: false, + }, + // A blazing orange sun low over the fields, the sky going purple overhead and the town in silhouette. + sunset: { + style: "rim", + light: [1.3, 0.55, 0.16], + sky: [ + [0, [0.08, 0.025, 0.14]], + [0.25, [0.3, 0.07, 0.26]], + [0.45, [0.85, 0.28, 0.18]], + [HORIZON, [1.3, 0.62, 0.16]], + ], + orb: { x: 0.31, y: 0.49, r: 0.07, core: [3, 1.4, 0.38], glow: [1, 0.45, 0.12], near: 0.5, wide: 0.35 }, + stars: 12, + clouds: [ + [0.1, 0.03, 0.1], + [0.9, 0.35, 0.18], + ], + ridge: [ + [0.34, 0.1, 0.18], + [0.16, 0.05, 0.11], + ], + hill: [0.085, 0.03, 0.065], + meadow: [0.11, 0.04, 0.075], + street: [0.09, 0.04, 0.07], + walls: [ + [0.13, 0.05, 0.12], + [0.1, 0.05, 0.1], + [0.16, 0.07, 0.1], + [0.09, 0.05, 0.12], + [0.14, 0.05, 0.09], + ], + roof: [0.05, 0.02, 0.05], + glass: [0.04, 0.02, 0.04], + window: [1.5, 0.7, 0.2], + lit: 0.5, + glow: 0.9, + fog: [0.55, 0.22, 0.28], + fogAlpha: 0.28, + ghost: [0.4, 1, 0.75], + skin: [0.55, 0.18, 0.03], + tint: [0.3, 0.13, 0.2], + night: false, + }, + // Deep violet and indigo under a huge gold-orange moon, the town lit by windows, pumpkins and lanterns. + night: { + style: "rim", + light: [1, 0.6, 0.22], + sky: [ + [0, [0.012, 0.006, 0.04]], + [0.3, [0.04, 0.018, 0.12]], + [HORIZON, [0.13, 0.055, 0.26]], + ], + orb: { x: 0.08, y: 0.24, r: 0.12, core: [1.7, 0.66, 0.15], glow: [0.75, 0.26, 0.06], near: 0.4, wide: 0.2, moon: true }, + stars: 90, + clouds: [ + [0.02, 0.012, 0.06], + [0.1, 0.05, 0.2], + ], + ridge: [ + [0.07, 0.035, 0.15], + [0.035, 0.016, 0.08], + ], + hill: [0.026, 0.012, 0.05], + meadow: [0.032, 0.016, 0.065], + street: [0.03, 0.018, 0.06], + walls: [ + [0.07, 0.04, 0.13], + [0.05, 0.05, 0.11], + [0.09, 0.05, 0.1], + [0.05, 0.04, 0.12], + [0.08, 0.035, 0.09], + ], + roof: [0.02, 0.01, 0.04], + glass: [0.02, 0.012, 0.04], + window: [1.6, 0.78, 0.22], + lit: 0.75, + glow: 1.25, + fog: [0.12, 0.065, 0.26], + fogAlpha: 0.34, + ghost: [0.22, 1.1, 0.78], + skin: [0.32, 0.1, 0.02], + tint: [0.1, 0.06, 0.18], + night: true, + }, +} + +const DAYLIGHT = (() => { + const l = Math.hypot(0.55, 0.6, 0.6) + return [-0.55 / l, -0.6 / l, 0.6 / l] as const +})() + +// A carved pumpkin's candlelight, a lantern's colors, and a ghost's eyes. +const CANDLE: RGB = [2.3, 1.05, 0.22] +const LANTERNS: RGB[] = [ + [1.7, 0.62, 0.12], + [1, 0.28, 1.3], + [0.45, 1.25, 0.3], +] +const LEAVES: RGB[] = [ + [0.95, 0.4, 0.06], + [0.8, 0.18, 0.06], + [0.95, 0.65, 0.12], + [0.55, 0.22, 0.08], +] +// Costumes: a sheet ghost, a witch, a pumpkin and a little devil. +const COSTUMES = ["ghost", "witch", "pumpkin", "devil"] as const +type Costume = (typeof COSTUMES)[number] + +// A pumpkin standing at (x, y) in pixels, radius r; carved ones glow from inside and flicker. +interface Pumpkin { + x: number + y: number + r: number + carved: boolean + seed: number + flare: number +} + +interface Lantern { + x: number + y: number + r: number + color: RGB + seed: number +} + +// A lit window whose candle flickers: its corners in pixels. +interface Candle { + pts: [number, number][] + seed: number +} + +interface Bat { + ax: number + ay: number + rx: number + ry: number + w: number + phase: number + size: number +} + +interface Ghost { + x: number + y: number + x0: number + x1: number + dir: number + phase: number +} + +interface Kid { + x: number + y: number + dir: number + speed: number + costume: Costume + phase: number +} + +interface Leaf { + x: number + y: number + fall: number + spin: number + rate: number + color: RGB + size: number +} + +class Halloween extends Canvas { + private time = 0 + private creatureTime = 0 + private readonly activity: Activity + private readonly look: Look + private readonly weather: WeatherLayer + private lighting: Lighting = { style: "front", dir: DAYLIGHT } + private readonly lights = new LightMap() + private stars: Star[] + private shown: Star[] = [] + private clouds: Cloud[] + private storm = makeStorm() + // Scale for narrow screens, the hill's crest, and the orb in screen heights. + private k = 1 + private crest = 0.2 + private orb: Orb + // Pixels the hill, tree, town and fences cover, which clouds and stars stay behind. + private fore = new Uint8Array(0) + private fog = new Float32Array(0) + private fogY0 = 0 + private fogRows = 0 + private pumpkins: Pumpkin[] = [] + private lanterns: Lantern[] = [] + private candles: Candle[] = [] + private bats: Bat[] = [] + private burst: Flier[] = [] + private ghosts: Ghost[] = [] + private kids: Kid[] = [] + private leaves: Leaf[] = [] + private cat = { x: 0.3, y: 0.7, blink: 0 } + private scarecrow = { x: 0.4, y: 0.7 } + private flare = 0 + private witch = { t: -1, wait: rand(20, 50), dir: 1, y: 0.2 } + private rider = { wait: eggWait() * TIME_SCALE, t: -1, dir: 1, gait: gait() as Gait } + + constructor(settings: Settings) { + super() + this.activity = settings.activity + this.look = LOOKS[settings.time] + this.orb = this.look.orb + this.weather = new WeatherLayer(settings.weather ?? "clear", settings.time, HORIZON) + this.stars = makeStars(this.look.stars, 0.5) + this.clouds = makeClouds(4, settings.time === "sunset" ? "stratus" : "wisp", 0.06, 0.3) + const n = { calm: 7, lively: 10, teeming: 14 }[settings.activity] + this.leaves = Array.from({ length: n }, () => this.leaf(Math.random() * 2, rand(0.05, 0.9))) + if (settings.activity === "calm") return + const bats = settings.activity === "teeming" ? 6 : 3 + this.bats = Array.from({ length: bats }, (_, i) => ({ ax: 0, ay: 0, rx: rand(0.05, 0.1), ry: rand(0.02, 0.05), w: rand(0.9, 1.4), phase: rand(0, TAU), size: rand(0.018, 0.026) + (i === 0 ? 0.006 : 0) })) + const ghosts = settings.activity === "teeming" ? 2 : 1 + this.ghosts = Array.from({ length: ghosts }, (_, i) => ({ x: 0, y: 0, x0: 0, x1: 0, dir: i ? -1 : 1, phase: rand(0, TAU) })) + if (settings.activity !== "teeming") return + this.kids = COSTUMES.map((costume, i) => ({ x: i * 0.12 + (i > 1 ? 0.9 : 0), y: lerp(WALK0, WALK1, hash(i * 3.1)), dir: i > 1 ? -1 : 1, speed: rand(0.2, 0.24), costume, phase: rand(0, 1) })) + } + + step(dt: number) { + dt = clamp(dt, 0, 0.1) * TIME_SCALE + this.time += dt + const cdt = dt * CREATURE_SPEED + this.creatureTime += cdt + this.stepGloom(dt) + this.weather.step(dt) + driftClouds(this.clouds, this.A, dt * 0.4) + if (this.gloom > 0) driftClouds(this.storm, this.A, dt) + this.flare = Math.max(0, this.flare - dt * 0.25) + for (const p of this.pumpkins) p.flare = Math.max(0, p.flare - dt * 0.35) + this.burst = flyAway(this.burst, dt, this.A) + this.stepLeaves(dt) + this.stepGhosts(cdt) + this.stepKids(cdt) + this.stepWitch(dt, cdt) + this.stepRider(dt, cdt) + this.cat.blink = (this.cat.blink + dt) % 9 + } + + render() { + this.restore() + const { W, H, look, hdr } = this + if (!this.weather.covered) paintStars(hdr, W, H, this.shown, this.time, 0.5, look.night ? 0.8 : 0.4, this.points) + const [top, bottom] = this.weather.scud ?? look.clouds + paintClouds(hdr, W, H, this.clouds, top, bottom, look.night ? 0.75 : 0.55, this.weather.covered ? undefined : this.orb) + if (this.gloom > 0) paintStorm(hdr, W, H, this.storm, [0.16, 0.1, 0.2], [0.04, 0.02, 0.06], this.gloom) + this.unsky(0, 0, W - 1, Math.ceil(HORIZON * H)) + if (this.witch.t >= 0) this.drawWitch() + for (const b of this.bats) this.drawBatAt(b) + for (const g of this.ghosts) this.drawGhost(g) + creep(hdr, W, H, this.fog, this.fogY0, this.fogRows, this.time * 1.6, this.time * 1.1, look.fog, look.fogAlpha) + touch(hdr, 0, this.fogY0, W - 1, this.fogY0 + this.fogRows - 1) + this.lights.clear(W, H) + this.drawLights() + if (this.activity !== "calm") this.drawCat() + if (this.activity === "teeming") this.drawScarecrowArm(true) + for (const kid of [...this.kids].sort((a, b) => a.y - b.y)) this.drawKid(kid) + if (this.rider.t >= 0) this.drawRider() + this.lights.apply(hdr) + this.drawLeaves() + for (const b of this.burst) this.drawBat(b.x, b.y, 0.02, b.phase, Math.sign(b.vx)) + this.weather.draw(hdr, W, H) + this.finish() + } + + // A witch on her broomstick crosses the moon, and every jack-o'-lantern flares. + protected override visit() { + for (const p of this.pumpkins) p.flare = Math.max(p.flare, 0.8) + if (this.witch.t < 0) this.startWitch() + } + + // A click near a jack-o'-lantern makes it blaze up; anywhere else, a flurry of bats bursts out. + poke(x: number, y: number) { + const H = this.H + const near = this.pumpkins.filter((p) => p.carved).sort((a, b) => Math.hypot(a.x / H - x, a.y / H - y) - Math.hypot(b.x / H - x, b.y / H - y))[0] + if (near && Math.hypot(near.x / H - x, near.y / H - y) < 0.07) { + near.flare = 1.6 + return + } + if (this.burst.length < 24) startle(this.burst, x, y, 6) + } + + protected override layout() { + const { W, H, A, look, hdr } = this + const k = (this.k = clamp(A / 1.7, 0.58, 1)) + this.crest = 0.2 * k + this.orb = { ...look.orb, x: (this.crest + look.orb.x * k) / A } + this.lighting = look.style === "front" ? { style: "front", dir: DAYLIGHT } : { style: "rim", color: look.light, x: this.orb.x * W, y: this.orb.y * H } + this.pumpkins = [] + this.lanterns = [] + this.candles = [] + paintSky(hdr, W, H, look.sky, this.orb, this.px) + this.weather.cover(hdr, W, H) + const sky = hdr.slice() + this.paintLand() + this.paintGrove() + this.paintTown() + this.paintTree() + this.paintPatch() + this.paintStreet() + this.paintFences() + this.paintCorners() + for (const p of this.pumpkins) this.drawPumpkin(p, 1) + for (const l of this.lanterns) this.drawLantern(l, 1) + if (this.px !== 1) return + // Real-size pass: what render() needs. + this.fore = new Uint8Array(W * H) + for (let i = 0; i < W * H; i++) if (hdr[i * 3] !== sky[i * 3] || hdr[i * 3 + 1] !== sky[i * 3 + 1] || hdr[i * 3 + 2] !== sky[i * 3 + 2]) this.fore[i] = 1 + this.shown = this.stars.filter((s) => { + const i = Math.floor(s.y * H) * W + Math.floor(s.x * W) + return !this.fore[i] && Math.hypot(s.x * W - this.orb.x * W, s.y * H - this.orb.y * H) > this.orb.r * H * 1.6 + }) + this.fogY0 = Math.floor(0.58 * H) + this.fogRows = Math.ceil(0.3 * H) + this.fog = makeFog(W, H, this.fogY0, this.fogRows) + this.placeCreatures() + } + + private paint(c: RGB, k = 1): RGB { + const t = this.look.tint + return [c[0] * t[0] * k, c[1] * t[1] * k, c[2] * t[2] * k] + } + + // The hill's surface at x, in screen heights. + private hillY(x: number) { + const k = this.k + return YARD + 0.01 - 0.35 * Math.exp(-(((x - this.crest) / (0.36 * k)) ** 2)) + (fbm1(x * 4, 3) - 0.5) * 0.02 + } + + // The far ridge with a few distant cottages, the meadow below it, and the hill on the left. + private paintLand() { + const { W, H, look, hdr } = this + const [far, near] = look.ridge + for (let x = 0; x < W; x++) { + const u = (x + 0.5) / H + const r1 = HORIZON - 0.035 - (fbm1(u * 2.2, 11) - 0.5) * 0.07 + const r2 = HORIZON + 0.005 - (fbm1(u * 3.1, 5) - 0.5) * 0.04 + const hill = this.hillY(u) + for (let y = Math.max(0, Math.floor(Math.min(r1, hill) * H) - 1); y < H; y++) { + const v = (y + 0.5) / H + const o = (y * W + x) * 3 + const a1 = clamp((v - r1) * H / this.px + 0.5, 0, 1) + const a2 = clamp((v - r2) * H / this.px + 0.5, 0, 1) + const a3 = clamp((v - hill) * H / this.px + 0.5, 0, 1) + if (a1 > 0) for (let c = 0; c < 3; c++) hdr[o + c] += (far[c] - hdr[o + c]) * a1 + const m = look.meadow + const shade = 0.85 + 0.25 * smoothstep(r2, YARD, v) + (fbm2(u * 6, v * 30, 2) - 0.5) * 0.12 + if (a2 > 0) for (let c = 0; c < 3; c++) hdr[o + c] += (lerp(near[c], m[c], smoothstep(r2, r2 + 0.06, v)) * shade - hdr[o + c]) * a2 + if (a3 <= 0) continue + // The hill catches the light on its sunward face, with tufts of dry grass. + const grain = 0.9 + 0.2 * fbm2(u * 9, v * 40, 2) + const face = look.style === "front" ? 1 + 0.18 * clamp((this.crest - u) * 4, -1, 1) : 1 + const rim = look.style === "rim" ? Math.exp(-((v - hill) * H) / (2 * this.px)) * (look.night ? 0.12 : 0.2) : 0 + for (let c = 0; c < 3; c++) hdr[o + c] += (look.hill[c] * grain * face + look.light[c] * rim - hdr[o + c]) * a3 + } + } + // Distant cottages on the ridge, their windows lit after dark. + const k = this.k + for (const [i, x] of [0.72 * k, 0.8 * k, this.A - 0.76 * k, this.A - 0.84 * k].entries()) { + const y = HORIZON - 0.02 - (fbm1(x * 2.2, 11) - 0.5) * 0.07 + 0.006 + const w = 0.016 + 0.006 * hash(i * 3.3) + const h = 0.012 + 0.004 * hash(i * 1.7) + const c = [far[0] * 0.8, far[1] * 0.8, far[2] * 0.85] as RGB + this.polygon([[(x - w) * H, y * H], [(x + w) * H, y * H], [(x + w) * H, (y - h) * H], [x * H, (y - h - w) * H], [(x - w) * H, (y - h) * H]], c) + if (look.lit > 0.3) this.disc(x * H, (y - h * 0.5) * H, Math.max(0.0025 * H, 0.6 * this.px), look.window[0] * 0.6, look.window[1] * 0.6, look.window[2] * 0.6, 1) + } + } + + // Round autumn trees in orange and red behind the town and on the hill's far side. + private paintGrove() { + const { A, H } = this + const k = this.k + const spots: [number, number, number][] = [ + [A - 0.28 * k, YARD, 0.075], + [A + 0.01, YARD, 0.09], + [A - 0.72 * k, YARD + 0.005, 0.055], + [0.0, this.hillY(0) + 0.01, 0.06], + ] + const bark = this.paint([0.22, 0.14, 0.1]) + for (const [i, [x, y, r]] of spots.entries()) { + const cy = y - r * 2.1 + this.shape([cap(x * H, y * H, (x + 0.004) * H, cy * H, r * 0.14 * H, r * 0.08 * H, bark)], this.lighting, 0.5) + const parts: Part[] = [] + for (let j = 0; j < 9; j++) { + const a = (j / 9) * TAU + hash(i * 7 + j) * 0.6 + const d = j === 0 ? 0 : r * (0.45 + 0.25 * hash(i * 3 + j * 1.7)) + const c = LEAVES[(i + j) % 3] + parts.push(ell((x + Math.cos(a) * d) * H, (cy + Math.sin(a) * d * 0.8) * H, r * (0.5 + 0.15 * hash(j + i)) * H, r * (0.45 + 0.1 * hash(j * 2 + i)) * H, 0, this.paint([c[0] * 0.85, c[1] * 0.85, c[2] * 0.85]))) + } + this.shape(parts, this.lighting, 0.8) + } + } + + // The town on the right: crooked gabled houses either side of a church with a tall spire, its windows glowing. + private paintTown() { + const { A } = this + const k = this.k + const anchors: [number, number][] = [] + const houses = [ + { x: A - 0.065 * k, w: 0.11 * k, h: 0.2, roof: 0.12, lean: 0.008, color: 0, side: -1 }, + { x: A - 0.2 * k, w: 0.1 * k, h: 0.15, roof: 0.1, lean: -0.01, color: 1, side: -1 }, + { x: A - 0.62 * k, w: 0.095 * k, h: 0.12, roof: 0.11, lean: 0.012, color: 2, side: 1 }, + ] + this.paintChurch(A - 0.4 * k, anchors) + for (const [i, h] of houses.entries()) anchors.push(...this.paintHouse(h.x, YARD, h.w, h.h, h.roof, h.lean, h.color, h.side, i)) + // Strings of lanterns between the eaves. + anchors.sort((a, b) => a[0] - b[0]) + for (let i = 0; i + 1 < anchors.length; i++) { + const [ax, ay] = anchors[i] + const [bx, by] = anchors[i + 1] + if (bx - ax > 0.3 || bx - ax < 0.03) continue + this.paintString(ax, ay, bx, by, 0.035, i) + } + } + + // A crooked house: its gable end toward us, a side wall receding behind it, a steep roof, a chimney, lit windows, a + // door and a jack-o'-lantern on the step. Returns its eave corners, for strings of lanterns. + private paintHouse(x: number, by: number, w: number, h: number, roofH: number, lean: number, color: number, side: number, seed: number): [number, number][] { + const { H, look } = this + const P = (u: number, v: number): [number, number] => [(x + u + lean * (v / h)) * H, (by - v) * H] + const wall = look.walls[color % look.walls.length] + const front = look.style === "front" ? wall : wall + const sideK = look.style === "front" ? (side > 0 ? 0.72 : 0.92) : 0.6 + const d = w * 0.45 + const sx = side * w * 0.5 + const lift = d * 0.3 + const roof = look.roof + const apex: [number, number] = [(x + lean * 1.25 + side * 0.004) * H, (by - h - roofH) * H] + // The side wall and the roof's side, receding. + this.polygon([P(sx, 0), [P(sx, 0)[0] + side * d * H, P(sx, 0)[1] - lift * H], [P(sx, h)[0] + side * d * H, P(sx, h)[1] - lift * H], P(sx, h)], [wall[0] * sideK, wall[1] * sideK, wall[2] * sideK]) + const eave = P(sx + side * 0.012, h - 0.012) + this.polygon([apex, [apex[0] + side * d * H, apex[1] - lift * H], [eave[0] + side * d * H, eave[1] - lift * H], eave], roof) + // A crooked chimney on the roof's side. + const cx = lerp(apex[0], eave[0], 0.45) + side * d * H * 0.5 + const cy = lerp(apex[1], eave[1], 0.45) - lift * H * 0.5 + const cw = 0.012 * H + this.polygon([[cx - cw, cy + cw], [cx + cw, cy + cw], [cx + cw + 0.004 * H, cy - 0.05 * H], [cx - cw + 0.004 * H, cy - 0.05 * H]], [wall[0] * 0.7, wall[1] * 0.6, wall[2] * 0.6]) + this.polygon([[cx - cw * 1.4 + 0.004 * H, cy - 0.05 * H], [cx + cw * 1.4 + 0.004 * H, cy - 0.05 * H], [cx + cw * 1.4 + 0.004 * H, cy - 0.058 * H], [cx - cw * 1.4 + 0.004 * H, cy - 0.058 * H]], roof) + // The front wall and gable. + this.polygon([P(-w / 2, 0), P(w / 2, 0), P(w / 2, h), apex, P(-w / 2, h)], front) + // Roof edges overhanging the gable. + const over = 0.014 + const left = P(-w / 2 - over, h - 0.016) + const right = P(w / 2 + over, h - 0.016) + this.edge(left, apex, 0.008, roof) + this.edge(apex, right, 0.008, roof) + if (look.style === "rim") this.rimEdges([P(-w / 2, 0), P(-w / 2, h), apex, P(w / 2, h), P(w / 2, 0)]) + // Windows: two rows, a round one in the gable, and a door. + const rows = h > 0.16 ? 2 : 1 + const cols = w > 0.1 ? 2 : 2 + for (let r = 0; r < rows; r++) + for (let c = 0; c < cols; c++) { + const u = (c - (cols - 1) / 2) * w * 0.45 + const v = h - 0.035 - r * 0.07 + if (r === rows - 1 && c === 0 && rows === 1) continue + this.paintWindow(P, u, v, 0.016, 0.026, seed * 7 + r * 3 + c) + } + const g = P(0, h + roofH * 0.38) + const lit = hash(seed * 5.1) < look.lit + 0.25 + const gc = lit ? look.window : look.glass + this.disc(g[0], g[1], 0.011 * H, roof[0], roof[1], roof[2], 1) + this.disc(g[0], g[1], 0.008 * H, gc[0], gc[1], gc[2], 1) + const du = rows === 1 ? -w * 0.22 : 0 + const door = [P(du - 0.013, 0), P(du + 0.013, 0), P(du + 0.013, 0.04), P(du, 0.048), P(du - 0.013, 0.04)] + this.polygon(door, this.paint([0.2, 0.1, 0.08])) + // A step and a jack-o'-lantern by the door. + this.polygon([P(du - 0.022, 0), P(du + 0.022, 0), P(du + 0.024, -0.008), P(du - 0.024, -0.008)], this.paint([0.36, 0.33, 0.33])) + this.pumpkins.push({ x: P(du + 0.034, 0)[0], y: (by + 0.004) * H, r: 0.011 * H, carved: true, seed: seed * 13 + 1, flare: 0 }) + if (seed !== 1) this.pumpkins.push({ x: P(du - 0.03, 0)[0], y: (by + 0.006) * H, r: 0.008 * H, carved: seed === 0, seed: seed * 13 + 2, flare: 0 }) + return [left, right] + } + + // A window at (u, v) on a facade mapped by P: a dark frame, glass or candlelight, and a cross of muntins. + private paintWindow(P: (u: number, v: number) => [number, number], u: number, v: number, w: number, h: number, seed: number) { + const look = this.look + const frame = look.roof + this.polygon([P(u - w - 0.003, v - h - 0.003), P(u + w + 0.003, v - h - 0.003), P(u + w + 0.003, v + 0.003), P(u - w - 0.003, v + 0.003)], frame) + const lit = hash(seed * 1.37 + 0.2) < look.lit + const pts = [P(u - w, v - h), P(u + w, v - h), P(u + w, v), P(u - w, v)] + const glow = lit ? look.window : look.glass + const k = lit ? 0.75 + 0.35 * hash(seed * 3.1) : 1 + this.polygon(pts, [glow[0] * k, glow[1] * k, glow[2] * k]) + if (lit && hash(seed * 7.7) < 0.45) this.candles.push({ pts, seed }) + if (this.cells) return + this.edge(P(u, v - h), P(u, v), 0.0015, frame) + this.edge(P(u - w, v - h * 0.5), P(u + w, v - h * 0.5), 0.0015, frame) + } + + // The church: a long nave with tall pointed windows, and a tower with a glowing clock and a crooked spire. + private paintChurch(x: number, anchors: [number, number][]) { + const { H, look } = this + const k = this.k + const stone: RGB = look.walls[3] + const roof = look.roof + const tw = 0.034 * k + 0.012 + const top = YARD - 0.36 + // The nave, to the right of the tower. + const n0 = x + tw * 0.8 + const n1 = x + 0.17 * k + const nh = 0.13 + this.polygon([[n0 * H, YARD * H], [n1 * H, YARD * H], [n1 * H, (YARD - nh) * H], [n0 * H, (YARD - nh) * H]], [stone[0] * 0.92, stone[1] * 0.92, stone[2] * 0.95]) + this.polygon([[(n0 - 0.01) * H, (YARD - nh + 0.004) * H], [(n1 + 0.012) * H, (YARD - nh + 0.004) * H], [(n1 - 0.02) * H, (YARD - nh - 0.07) * H], [(n0 + 0.01) * H, (YARD - nh - 0.075) * H]], roof) + for (let i = 0; i < 3; i++) { + const wx = lerp(n0 + 0.028 * k, n1 - 0.028 * k, i / 2) + const glass: RGB = look.lit > 0.3 ? [LANTERNS[i][0] * 0.55, LANTERNS[i][1] * 0.55, LANTERNS[i][2] * 0.55] : look.glass + this.polygon([[(wx - 0.011) * H, (YARD - 0.025) * H], [(wx + 0.011) * H, (YARD - 0.025) * H], [(wx + 0.011) * H, (YARD - 0.085) * H], [wx * H, (YARD - 0.1) * H], [(wx - 0.011) * H, (YARD - 0.085) * H]], roof) + this.polygon([[(wx - 0.007) * H, (YARD - 0.028) * H], [(wx + 0.007) * H, (YARD - 0.028) * H], [(wx + 0.007) * H, (YARD - 0.083) * H], [wx * H, (YARD - 0.094) * H], [(wx - 0.007) * H, (YARD - 0.083) * H]], glass) + } + if (look.style === "rim") this.rimEdges([[n0 * H, (YARD - nh) * H], [n1 * H, (YARD - nh) * H]]) + // The tower, leaning a touch. + const lean = -0.006 + const T = (u: number, y: number): [number, number] => [(x + u + lean * ((YARD - y) / 0.36)) * H, y * H] + this.polygon([T(-tw, YARD), T(tw, YARD), T(tw, top), T(-tw, top)], stone) + this.polygon([T(tw, YARD), T(tw + 0.016, YARD - 0.006), T(tw + 0.016, top - 0.006), T(tw, top)], [stone[0] * 0.65, stone[1] * 0.65, stone[2] * 0.7]) + // Belfry openings, a clock face and a ledge. + for (const s of [-1, 1]) this.polygon([T(s * tw * 0.45 - 0.008, top + 0.07), T(s * tw * 0.45 + 0.008, top + 0.07), T(s * tw * 0.45 + 0.008, top + 0.03), T(s * tw * 0.45, top + 0.02), T(s * tw * 0.45 - 0.008, top + 0.03)], [roof[0] * 0.6, roof[1] * 0.6, roof[2] * 0.6]) + this.polygon([T(-tw - 0.006, top + 0.008), T(tw + 0.006, top + 0.008), T(tw + 0.006, top - 0.002), T(-tw - 0.006, top - 0.002)], roof) + const [cx, cy] = T(0, top + 0.13) + const clock = look.lit > 0.3 ? look.window : this.paint([0.85, 0.8, 0.62]) + this.disc(cx, cy, 0.022 * H, roof[0], roof[1], roof[2], 1) + this.disc(cx, cy, 0.017 * H, clock[0] * 0.8, clock[1] * 0.8, clock[2] * 0.8, 1) + this.edge([cx, cy], [cx, cy - 0.012 * H], 0.0018, roof) + this.edge([cx, cy], [cx + 0.008 * H, cy + 0.003 * H], 0.0018, roof) + for (let i = 0; i < 2; i++) this.paintWindow((u, v) => T(u, YARD - v), 0, 0.12 + i * 0.075, 0.008, 0.03, 90 + i) + // The spire, steep and crooked, with a little finial. + const sh = 0.24 + const tip: [number, number] = [T(0, top)[0] + 0.018 * H, (top - sh) * H] + this.polygon([T(-tw - 0.008, top), T(tw + 0.008, top), [T(tw * 0.3, top - sh * 0.5)[0] + 0.012 * H, (top - sh * 0.5) * H], tip, [T(-tw * 0.3, top - sh * 0.5)[0] + 0.006 * H, (top - sh * 0.5) * H]], roof) + this.edge(tip, [tip[0] + 0.002 * H, tip[1] - 0.025 * H], 0.0022, roof) + this.disc(tip[0] + 0.002 * H, tip[1] - 0.027 * H, 0.004 * H, roof[0], roof[1], roof[2], 1) + if (look.style === "rim") this.rimEdges([T(-tw, YARD), T(-tw, top), T(-tw - 0.008, top), tip, T(tw + 0.008, top)]) + anchors.push([n1 * H, (YARD - nh) * H], T(-tw, top + 0.1)) + this.pumpkins.push({ x: T(-tw - 0.012, YARD)[0], y: (YARD + 0.004) * H, r: 0.012 * H, carved: true, seed: 71, flare: 0 }) + } + + // A sagging string of paper lanterns from a to b (pixels), sag in screen heights. + private paintString(ax: number, ay: number, bx: number, by: number, sag: number, seed: number) { + const H = this.H + const at = (t: number): [number, number] => [lerp(ax, bx, t), lerp(ay, by, t) + 4 * t * (1 - t) * sag * H] + const line: Part[] = [] + for (let i = 0; i < 12; i++) line.push(cap(...at(i / 12), ...at((i + 1) / 12), this.thick(0.0012, 0.5), this.thick(0.0012, 0.5), this.paint([0.08, 0.06, 0.06]))) + this.shape(line, this.lighting, 0) + const n = Math.max(3, Math.round(Math.hypot(bx - ax, by - ay) / (0.028 * H))) + for (let i = 1; i < n; i++) { + const [x, y] = at(i / n) + this.lanterns.push({ x, y: y + 0.008 * H, r: 0.0075 * H, color: LANTERNS[(i + seed) % LANTERNS.length], seed: seed * 17 + i }) + } + } + + // The gnarled bare tree on the hill's crest, its branches twisting up against the sky. + private paintTree() { + const { H } = this + const x = this.crest + 0.015 + const y = this.hillY(x) + 0.008 + const bark = this.paint([0.2, 0.13, 0.1]) + const groups: Part[][] = [] + const grow = (px: number, py: number, angle: number, len: number, r: number, depth: number, seed: number, parts: Part[]) => { + let ax = px + let ay = py + let a = angle + for (let s = 0; s < 3; s++) { + a += (hash(seed * 3.1 + s) - 0.5) * 0.9 + const bx = ax + Math.cos(a) * (len / 3) + const by = ay + Math.sin(a) * (len / 3) + const r1 = r * (1 - 0.18 * (s + 1)) + parts.push(cap(ax * H, ay * H, bx * H, by * H, Math.max(r * (1 - 0.18 * s) * H, this.cells ? 0.7 * this.px : 0.3 * this.px), Math.max(r1 * H, this.cells ? 0.7 * this.px : 0.3 * this.px), bark)) + ax = bx + ay = by + } + if (depth === 0) return + const kids = depth > 2 ? 3 : 2 + for (let i = 0; i < kids; i++) { + const spread = (i - (kids - 1) / 2) * (0.55 + 0.25 * hash(seed + i * 7.7)) + (hash(seed * 1.9 + i) - 0.5) * 0.4 + // Branches droop and curl the further out they reach. + const droop = depth <= 2 ? Math.sign(Math.cos(a + spread)) * 0.35 : 0 + grow(ax, ay, a + spread + droop, len * (0.62 + 0.12 * hash(seed * 4.3 + i)), r * 0.62, depth - 1, seed * 3 + i + 1, depth >= 4 ? (groups[groups.push([]) - 1] as Part[]) : parts) + } + } + const trunk: Part[] = [] + groups.push(trunk) + // A thick twisted trunk with roots, splitting low into big limbs. + trunk.push(cap((x - 0.03) * H, (y + 0.004) * H, x * H, (y - 0.02) * H, 0.008 * H, 0.014 * H, bark), cap((x + 0.034) * H, (y + 0.006) * H, x * H, (y - 0.02) * H, 0.007 * H, 0.014 * H, bark)) + trunk.push(cap(x * H, y * H, (x - 0.008) * H, (y - 0.08) * H, 0.018 * H, 0.014 * H, bark), cap((x - 0.008) * H, (y - 0.08) * H, (x + 0.004) * H, (y - 0.12) * H, 0.014 * H, 0.011 * H, bark)) + grow(x + 0.004, y - 0.12, -Math.PI / 2 - 0.75, 0.13, 0.009, 4, 3, trunk) + grow(x + 0.004, y - 0.12, -Math.PI / 2 + 0.6, 0.14, 0.009, 4, 11, trunk) + grow(x - 0.006, y - 0.07, -Math.PI / 2 - 1.3, 0.1, 0.007, 3, 23, trunk) + grow(x - 0.002, y - 0.1, -Math.PI / 2 + 1.2, 0.09, 0.006, 3, 31, trunk) + for (const g of groups) if (g.length) this.shape(g, this.lighting, 0.6) + } + + // Pumpkins on vines down the hill's lower slope, a few carved, and the scarecrow keeping watch. + private paintPatch() { + const { H, look } = this + const k = this.k + const vine = this.paint([0.24, 0.3, 0.1]) + const leaf = this.paint([0.3, 0.36, 0.12]) + const spots: [number, number][] = [] + for (let i = 0; i < 16; i++) { + const x = lerp(0.06, 0.58, hash(i * 2.71)) * k + const y = Math.max(this.hillY(x) + 0.02, lerp(0.66, 0.79, hash(i * 1.93))) + if (y > FENCE - 0.012 || spots.some(([sx, sy]) => Math.hypot(sx - x, (sy - y) * 2) < 0.04)) continue + spots.push([x, y]) + } + spots.sort((a, b) => a[1] - b[1]) + for (const [i, [x, y]] of spots.entries()) { + const r = (0.011 + 0.008 * hash(i * 5.3)) * (0.8 + 0.4 * smoothstep(0.66, 0.79, y)) + // A curling vine and a leaf or two beside each pumpkin. + const a = hash(i * 9.1) * TAU + this.shape([cap(x * H, y * H, (x + Math.cos(a) * 0.03) * H, (y + Math.sin(a) * 0.008) * H, this.thick(0.0015, 0.6), this.thick(0.0012, 0.5), vine)], this.lighting, 0.3) + this.shape([ell((x + Math.cos(a) * 0.03) * H, (y + Math.sin(a) * 0.008 - 0.004) * H, 0.009 * H, 0.005 * H, a, leaf)], this.lighting, 0.6) + this.pumpkins.push({ x: x * H, y: y * H, r: r * H, carved: hash(i * 4.4) < (look.night ? 0.45 : 0.3), seed: 200 + i, flare: 0 }) + } + const sx = 0.42 * k + this.scarecrow = { x: sx, y: Math.max(this.hillY(sx) + 0.03, 0.7) } + this.drawScarecrow(this.activity !== "teeming") + } + + // The street: worn cobbles under the fences, a curb, and a strip of grass along the bottom. + private paintStreet() { + const { W, H, look, hdr, px } = this + const s = look.street + const cell = this.cells ? 2.4 : 1.4 + for (let y = Math.floor(FENCE * H); y < H; y++) { + const v = (y + 0.5) / H + const depth = smoothstep(FENCE, 1, v) + for (let x = 0; x < W; x++) { + const u = (x + 0.5) / H + const o = (y * W + x) * 3 + // Cobbles in staggered rows, growing toward the viewer. + const row = (v - FENCE) / (0.012 + 0.012 * depth) + const ri = Math.floor(row) + const col = (u * 30) / (1 + depth) + (ri % 2) * 0.5 + const ci = Math.floor(col) + const fx = col - ci + const fy = row - ri + const gap = this.cells ? 1 : Math.min(1, smoothstep(0, 0.12, fx) * smoothstep(1, 0.88, fx) * smoothstep(0, 0.16, fy) * smoothstep(1, 0.84, fy) * 0.4 + 0.6) + const tone = (0.82 + 0.3 * hash2(ci, ri)) * gap * (0.9 + 0.12 * hash2(Math.floor(x / px / cell), Math.floor(y / px / cell))) + const curb = smoothstep(0.004, 0, Math.abs(v - (FENCE + 0.008))) + const grass = smoothstep(0.952, 0.958, v) + const shade = lerp(1, 1.25, depth) + for (let c = 0; c < 3; c++) { + const base = s[c] * tone * shade + hdr[o + c] = lerp(lerp(base, s[c] * 1.5, curb), look.meadow[c] * (0.8 + 0.3 * fbm2(u * 20, v * 50, 2)), grass) + } + } + } + } + + // Iron fences with spear-tipped bars and stone pillars, in front of the pumpkin patch and the houses, with lanterns + // strung between tall posts over the patch. + private paintFences() { + const { A, H } = this + const k = this.k + this.paintFence(-0.02, 0.62 * k, 0.05) + this.paintFence(A - 0.7 * k, A + 0.02, 0.045) + const posts = [0.04 * k, 0.24 * k, 0.44 * k, 0.64 * k] + const wood = this.paint([0.16, 0.11, 0.09]) + for (const x of posts) this.shape([cap(x * H, FENCE * H, x * H, (FENCE - 0.15) * H, this.thick(0.0028, 0.8), this.thick(0.0022, 0.7), wood)], this.lighting, 0.5) + for (let i = 0; i + 1 < posts.length; i++) this.paintString(posts[i] * H, (FENCE - 0.145) * H, posts[i + 1] * H, (FENCE - 0.145) * H, 0.035, i + 5) + } + + private paintFence(x0: number, x1: number, h: number) { + const { H, look } = this + const iron = this.paint([0.06, 0.05, 0.07]) + const bar = this.thick(0.0016, 0.55) + const parts: Part[] = [] + const top = FENCE - h + parts.push(cap(x0 * H, (top + 0.008) * H, x1 * H, (top + 0.008) * H, bar, bar, iron), cap(x0 * H, (FENCE - 0.008) * H, x1 * H, (FENCE - 0.008) * H, bar, bar, iron)) + const step = this.cells ? 0.026 : 0.018 + for (let x = x0 + step / 2; x < x1; x += step) parts.push(cap(x * H, FENCE * H, x * H, top * H, bar, bar, iron)) + this.shape(parts, this.lighting, 0.4) + for (let x = x0 + step / 2; x < x1; x += step) this.polygon([[x * H - bar * 1.8, top * H], [x * H + bar * 1.8, top * H], [x * H, (top - 0.009) * H]], iron) + // Stone pillars, each with a jack-o'-lantern on top. + const stone = this.paint([0.42, 0.38, 0.4]) + const span = x1 - x0 + const n = Math.max(1, Math.round(span / 0.2)) + for (let i = 0; i <= n; i++) { + const x = x0 + (span * i) / n + if (x < 0.02 || x > this.A - 0.02) continue + this.polygon([[(x - 0.011) * H, FENCE * H], [(x + 0.011) * H, FENCE * H], [(x + 0.011) * H, (top - 0.004) * H], [(x - 0.011) * H, (top - 0.004) * H]], stone) + this.polygon([[(x - 0.014) * H, (top - 0.004) * H], [(x + 0.014) * H, (top - 0.004) * H], [(x + 0.014) * H, (top - 0.011) * H], [(x - 0.014) * H, (top - 0.011) * H]], [stone[0] * 0.8, stone[1] * 0.8, stone[2] * 0.8]) + if (look.style === "rim") this.rimEdges([[(x - 0.014) * H, (top - 0.011) * H], [(x + 0.014) * H, (top - 0.011) * H]]) + this.pumpkins.push({ x: x * H, y: (top - 0.011) * H, r: 0.0105 * H, carved: true, seed: 300 + i + Math.round(x * 50), flare: 0 }) + } + } + + // Big jack-o'-lanterns grinning from both bottom corners, and a few small ones along the curb. + private paintCorners() { + const { A, H } = this + const k = this.k + const spots: [number, number, number][] = [ + [0.07 * k, 0.985, 0.04], + [0.155 * k, 0.99, 0.028], + [0.02 * k, 0.94, 0.02], + [A - 0.08 * k, 0.985, 0.042], + [A - 0.17 * k, 0.99, 0.026], + [A - 0.025 * k, 0.945, 0.022], + ] + for (const [i, [x, y, r]] of spots.entries()) this.pumpkins.push({ x: x * H, y: y * H, r: r * H, carved: i !== 2, seed: 400 + i, flare: 0 }) + for (const [i, x] of [0.68 * k, A - 0.74 * k].entries()) this.pumpkins.push({ x: x * H, y: (FENCE + 0.016) * H, r: 0.009 * H, carved: true, seed: 450 + i, flare: 0 }) + } + + // A pumpkin: a ribbed body with a stem, its face glowing with candlelight scaled by light. + private drawPumpkin(p: Pumpkin, light: number) { + const look = this.look + const { x, y, r } = p + const cy = y - r * 0.85 + const skin: RGB = look.night || look.style === "rim" ? look.skin : this.paint(look.skin) + if (light === 1) { + this.shape([ell(x, cy, r * 1.22, r * 0.86, 0, skin, 4)], this.lighting, 0.7) + this.shape([cap(x, cy - r * 0.75, x + r * 0.18, cy - r * 1.15, Math.max(r * 0.16, 0.5 * this.px), Math.max(r * 0.11, 0.4 * this.px), this.paint([0.3, 0.32, 0.1]))], this.lighting, 0.4) + } + if (!p.carved) return + const g = look.glow * light + const c: RGB = [CANDLE[0] * g, CANDLE[1] * g, CANDLE[2] * g] + const rx = r * 1.22 + const ry = r * 0.86 + if (rx < 3.2 * this.px) { + this.ellipse(x, cy + ry * 0.05, rx * 0.62, Math.max(ry * 0.32, 0.55 * this.px), c[0], c[1], c[2], 0.9) + return + } + for (const s of [-1, 1]) this.polygon([[x + s * rx * 0.52, cy - ry * 0.02], [x + s * rx * 0.14, cy - ry * 0.02], [x + s * rx * 0.34, cy - ry * 0.48]], c) + this.polygon([[x - rx * 0.08, cy + ry * 0.16], [x + rx * 0.08, cy + ry * 0.16], [x, cy + ry * 0.02]], c) + const mouth: [number, number][] = [] + for (let i = 0; i <= 8; i++) { + const u = -0.62 + (1.24 * i) / 8 + mouth.push([x + u * rx, cy + (0.26 + 0.36 * (1 - u * u / 0.4)) * ry * 0.85]) + } + for (let i = 8; i >= 0; i--) { + const u = -0.62 + (1.24 * i) / 8 + mouth.push([x + u * rx, cy + (0.24 + 0.12 * (1 - (u * u) / 0.4) + (i % 4 === 2 ? 0.14 : 0)) * ry]) + } + this.polygon(mouth, c) + } + + private drawLantern(l: Lantern, light: number) { + const look = this.look + const H = this.H + const g = (look.lit > 0.3 ? look.glow : 0.35) * light + const c = l.color + this.shape([cap(l.x, l.y - l.r * 1.4, l.x, l.y - l.r * 0.9, Math.max(0.002 * H, 0.4 * this.px), Math.max(0.002 * H, 0.4 * this.px), this.paint([0.1, 0.08, 0.08]))], this.lighting, 0) + this.ellipse(l.x, l.y, l.r * 0.9, l.r, c[0] * g * 0.7, c[1] * g * 0.7, c[2] * g * 0.7, 1) + if (light === 1 && look.style === "front") this.shape([ell(l.x, l.y, l.r * 0.9, l.r, 0, [c[0] * 0.5, c[1] * 0.5, c[2] * 0.5])], this.lighting, 0.5) + } + + private drawScarecrow(arms: boolean) { + const { H } = this + const { x, y } = this.scarecrow + const wood = this.paint([0.3, 0.2, 0.12]) + const coat = this.paint([0.32, 0.2, 0.36]) + const straw = this.paint([0.85, 0.66, 0.25]) + const S = 0.13 + this.shape([cap(x * H, y * H, x * H, (y - S * 0.95) * H, this.thick(0.0025, 0.8), this.thick(0.0025, 0.8), wood)], this.lighting, 0.5) + if (arms) this.drawScarecrowArm(false) + this.shape([cap(x * H, (y - S * 0.42) * H, x * H, (y - S * 0.72) * H, 0.017 * H, 0.014 * H, coat), ell(x * H, (y - S * 0.4) * H, 0.02 * H, 0.012 * H, 0, coat)], this.lighting, 0.7) + for (const s of [-1, 1]) this.shape([cap((x + s * 0.008) * H, (y - S * 0.36) * H, (x + s * 0.012) * H, (y - S * 0.27) * H, 0.003 * H, 0.0015 * H, straw)], this.lighting, 0.3) + // A pumpkin head under a floppy pointed hat. + this.pumpkins.push({ x: x * H, y: (y - S * 0.72) * H, r: 0.014 * H, carved: true, seed: 500, flare: 0 }) + const hat = this.paint([0.14, 0.1, 0.12]) + const hy = (y - S * 0.72 - 0.023) * H + this.ellipse(x * H, hy, 0.024 * H, 0.004 * H, hat[0], hat[1], hat[2], 1) + this.polygon([[(x - 0.012) * H, hy], [(x + 0.012) * H, hy], [(x + 0.016) * H, hy - 0.025 * H], [(x + 0.026) * H, hy - 0.02 * H]], hat) + } + + // The scarecrow's straw-stuffed arms on their crossbar; in teeming the right one waves now and then. + private drawScarecrowArm(moving: boolean) { + const { H } = this + const { x, y } = this.scarecrow + const S = 0.13 + const coat = this.paint([0.32, 0.2, 0.36]) + const straw = this.paint([0.85, 0.66, 0.25]) + const sy = (y - S * 0.66) * H + const wave = moving ? smoothstep(0, 1, Math.sin((this.time / 22) * TAU) * 2 - 1) : 0 + const a = -wave * (1.1 + 0.35 * Math.sin(this.time * 5)) + const L = 0.05 + const parts: Part[] = [] + if (!moving) parts.push(cap(x * H, sy, (x - L) * H, sy + 0.004 * H, 0.006 * H, 0.005 * H, coat)) + const ex = x + Math.cos(a) * L + const ey = sy / H + Math.sin(a) * L + 0.004 + parts.push(cap(x * H, sy, ex * H, ey * H, 0.006 * H, 0.005 * H, coat)) + if (!moving || wave > 0.01 || true) this.shape(parts, this.lighting, 0.6) + const hands: Part[] = [cap(ex * H, ey * H, (ex + Math.cos(a) * 0.012) * H, (ey + Math.sin(a) * 0.012 + 0.004) * H, 0.004 * H, 0.002 * H, straw)] + if (!moving) hands.push(cap((x - L) * H, sy + 0.004 * H, (x - L - 0.012) * H, sy + 0.008 * H, 0.004 * H, 0.002 * H, straw)) + this.shape(hands, this.lighting, 0.3) + } + + // Bats loop around the moon, the tree and the spire; ghosts haunt the hill and the churchyard; the cat sits on the + // patch's fence. + private placeCreatures() { + const { A } = this + const k = this.k + const anchors: [number, number][] = [ + [this.orb.x * A, this.orb.y], + [A - 0.36 * k, 0.16], + [this.crest + 0.08, 0.3], + [A - 0.14 * k, 0.3], + [this.orb.x * A + 0.15, 0.12], + [A - 0.5 * k, 0.26], + ] + for (const [i, b] of this.bats.entries()) [b.ax, b.ay] = anchors[i % anchors.length] + for (const [i, g] of this.ghosts.entries()) { + const [x0, x1] = i === 0 ? [0.08 * k, 0.5 * k] : [A - 0.62 * k, A - 0.1 * k] + g.x0 = x0 + g.x1 = x1 + if (g.x === 0) g.x = lerp(x0, x1, hash(i * 3.7 + 1)) + g.y = i === 0 ? 0.56 : 0.6 + } + this.cat.x = 0.33 * k + this.cat.y = FENCE - 0.05 - 0.011 + } + + private leaf(x: number, y: number): Leaf { + return { x, y, fall: rand(0.008, 0.02), spin: rand(0, TAU), rate: rand(1, 2.5), color: LEAVES[Math.floor(Math.random() * LEAVES.length)], size: rand(0.005, 0.008) } + } + + // Leaves tumble down and drift across, blown along by the gusts; spent ones come back from the tree or the left edge. + private stepLeaves(dt: number) { + for (const [i, l] of this.leaves.entries()) { + const g = gust(l.x, this.time) + l.x += (0.012 + 0.16 * g) * dt + l.y += (l.fall + Math.sin(this.time * 0.9 + l.spin) * 0.01 - g * 0.01) * dt + l.spin += l.rate * (1 + 2 * g) * dt + if (l.x < this.A + 0.05 && l.y < 1.02) continue + Object.assign(l, i % 2 ? this.leaf(this.crest + rand(-0.12, 0.14), rand(0.15, 0.32)) : this.leaf(-0.04, rand(0.05, 0.85))) + } + } + + private drawLeaves() { + const H = this.H + const r = this.thick(0.006, 1.1) + const k = this.look.night ? 2.4 : this.look.style === "rim" ? 1.8 : 1 + for (const l of this.leaves) { + const flip = Math.cos(l.spin) + const c = this.paint(l.color, k) + this.shape([ell(l.x * H, l.y * H, Math.max(r * (l.size / 0.006), 1), Math.max(r * 0.55 * Math.abs(flip) + 0.3, this.cells ? 0.7 : 0.4), l.spin * 0.6, c)], this.lighting, 0.3) + } + } + + private stepGhosts(cdt: number) { + for (const g of this.ghosts) { + g.phase += cdt + g.x += g.dir * 0.05 * cdt + if (g.x > g.x1) g.dir = -1 + if (g.x < g.x0) g.dir = 1 + } + } + + // A sheet of ghostly light: a round head, a body trailing into a wavy hem, hollow eyes and an O of a mouth; it fades + // in and out as it haunts. + private drawGhost(g: Ghost) { + const { H, look } = this + const fade = smoothstep(-0.2, 0.6, Math.sin(g.phase * 0.35)) + if (fade <= 0.01) return + const x = g.x * H + const y = (g.y + Math.sin(g.phase * 1.3) * 0.012) * H + const s = 0.04 * H + const c = look.ghost + const a = (look.night ? 0.55 : 0.45) * fade + const lean = -g.dir * 0.25 + const pts: [number, number][] = [] + for (let i = 0; i <= 10; i++) { + const t = i / 10 + const ang = Math.PI + t * Math.PI + pts.push([x + Math.cos(ang) * s * 0.5, y - s * 0.5 + Math.sin(ang) * s * 0.5]) + } + for (let i = 0; i <= 8; i++) { + const t = i / 8 + const hx = x + s * 0.5 - t * s + lean * s + pts.push([hx, y + s * (0.55 + 0.1 * Math.sin(t * TAU * 1.5 + g.phase * 6))]) + } + if (look.night) lightPool(this.hdr, this.W, H, x, y, s * 1.6, s * 1.6, c, 0, 0.05 * fade) + this.polygon(pts, c, a) + const eye = this.paint([0.05, 0.03, 0.08]) + const e: RGB = look.night ? [0.01, 0.06, 0.06] : eye + for (const sx of [-1, 1]) this.ellipse(x + sx * s * 0.17, y - s * 0.5, Math.max(s * 0.07, 0.7), Math.max(s * 0.11, 0.9), e[0], e[1], e[2], fade * 0.9) + this.ellipse(x, y - s * 0.22, Math.max(s * 0.07, 0.6), Math.max(s * 0.09, 0.7), e[0], e[1], e[2], fade * 0.8) + } + + private drawBatAt(b: Bat) { + const t = this.creatureTime * b.w * 2.4 + b.phase + const x = b.ax + b.rx * Math.sin(t) + const y = b.ay + b.ry * Math.sin(2 * t + b.phase) + this.drawBat(x, y, b.size, this.time * 22 + b.phase * 5, Math.cos(t) >= 0 ? 1 : -1) + } + + // A bat: a small furry body with ears and two scalloped wings beating. + private drawBat(bx: number, by: number, size: number, phase: number, dir: number) { + const H = this.H + const x = bx * H + const y = by * H + const s = size * H + const flap = Math.sin(phase) + const color = this.paint([0.08, 0.05, 0.09]) + for (const side of [-1, 1]) { + const w = (u: number, v: number): [number, number] => [x + side * u * s, y + (v - flap * u * 0.7) * s] + this.polygon([w(0.08, -0.1), w(0.5, -0.32), w(1, -0.22), w(0.82, 0.06), w(0.62, -0.02), w(0.42, 0.12), w(0.22, 0.04), w(0.08, 0.14)], color) + } + this.shape([ell(x, y, Math.max(s * 0.14, 0.8), Math.max(s * 0.2, 1), 0, color), ell(x + dir * s * 0.04, y - s * 0.2, Math.max(s * 0.1, 0.7), Math.max(s * 0.09, 0.7), 0, color)], this.lighting, 0.3) + for (const side of [-1, 1]) this.polygon([[x + side * s * 0.02 + dir * s * 0.04, y - s * 0.24], [x + side * s * 0.1 + dir * s * 0.04, y - s * 0.24], [x + side * s * 0.08 + dir * s * 0.04, y - s * 0.38]], color) + } + + // Every carved pumpkin, lantern and candlelit window flickers, dimmed after an error; their light pools on the + // ground and anything passing. + private drawLights() { + const { H, look } = this + const dim = 1 - 0.55 * this.gloom + const night = look.night ? 1 : look.style === "rim" ? 0.7 : 0.25 + for (const p of this.pumpkins) { + if (!p.carved) continue + const f = (firelight(this.time * 2.2, p.seed) + p.flare) * dim + this.drawPumpkin(p, f) + const r = p.r * (5 + 3 * p.flare) + this.lights.pool(p.x, p.y - p.r, r, r * 0.7, [1, 0.45, 0.1], (1.6 + 2 * p.flare) * night * f, 0.012 * (night + p.flare) * f) + } + for (const l of this.lanterns) { + const f = (0.88 + 0.12 * Math.sin(this.time * 1.3 + l.seed * 2.1)) * dim + this.drawLantern(l, f) + if (look.lit > 0.3) this.lights.pool(l.x, l.y, 0.035 * H, 0.03 * H, l.color, 0.6 * night * f, 0.006 * night * f) + } + for (const c of this.candles) { + const f = firelight(this.time * 1.8, c.seed) * dim + const w = look.window + const k = 0.75 + 0.35 * hash(c.seed * 3.1) + this.polygon(c.pts, [w[0] * f * k, w[1] * f * k, w[2] * f * k]) + } + } + + // The black cat on the fence: sitting tall, its tail curling and swishing, its eyes glowing after dark. + private drawCat() { + const { H, look } = this + const x = this.cat.x * H + const y = this.cat.y * H + const s = 0.04 * H + const color = this.paint([0.05, 0.04, 0.06]) + const swish = Math.sin(this.time * 0.9) * 0.35 + const tail = chain((t) => [x - s * 0.25 - Math.sin(t * 2.2 + swish) * s * 0.45 * t, y - s * 0.05 + t * s * 0.15 - Math.sin(t * Math.PI) * s * 0.55 * (1 + swish)], 6, s * 0.07, s * 0.05, color) + this.shape([ell(x, y - s * 0.28, s * 0.22, s * 0.3, 0.15, color), ell(x + s * 0.06, y - s * 0.62, s * 0.14, s * 0.12, 0, color), ...tail], this.lighting, 0.4) + for (const e of [-1, 1]) this.polygon([[x + s * 0.06 + e * s * 0.13, y - s * 0.66], [x + s * 0.06 + e * s * 0.03, y - s * 0.7], [x + s * 0.06 + e * s * 0.12, y - s * 0.84]], color) + if (this.cat.blink < 0.15) return + const glow: RGB = look.night || look.style === "rim" ? [1.2, 1.3, 0.2] : [0.6, 0.65, 0.15] + for (const e of [-1, 1]) this.disc(x + s * 0.06 + e * s * 0.055, y - s * 0.63, Math.max(s * 0.035, 0.6), glow[0], glow[1], glow[2], 1) + } + + private stepKids(cdt: number) { + for (const kid of this.kids) { + const d = kid.speed * cdt + kid.x += kid.dir * d + kid.phase += d / KID_STRIDE + if (kid.dir > 0 && kid.x > this.A + 0.12) kid.x = -0.12 + if (kid.dir < 0 && kid.x < -0.12) kid.x = this.A + 0.12 + } + } + + // A trick-or-treater in costume, walking with a pumpkin bucket swinging from one hand. + private drawKid(kid: Kid) { + const { H, look } = this + const S = KID * H * (0.9 + 0.2 * smoothstep(WALK0, WALK1, kid.y)) + const x = kid.x * H + const y = kid.y * H + const d = kid.dir + const [rl, ll] = stride(kid.phase, 0) + const [rr, lr] = stride(kid.phase, 0.5) + const bob = Math.abs(Math.sin(kid.phase * Math.PI)) * 0.02 * S + const legs = this.paint([0.12, 0.1, 0.14]) + const hip = y - S * 0.32 - bob + this.shape([cap(x, hip, x + d * rl * 0.09 * S, y - ll * 0.05 * S, 0.05 * S, 0.045 * S, legs), cap(x, hip, x + d * rr * 0.09 * S, y - lr * 0.05 * S, 0.05 * S, 0.045 * S, legs)], this.lighting, 0.6) + const skin = this.paint([0.9, 0.66, 0.5]) + const head: [number, number] = [x + d * 0.02 * S, y - S * 0.82 - bob] + const costume = kid.costume + if (costume === "ghost") { + const sheet = this.paint([0.86, 0.86, 0.9], look.night ? 2.2 : 1) + const pts: [number, number][] = [[head[0] - 0.14 * S, head[1]], [head[0] - 0.24 * S, y - S * 0.2 - bob], [head[0] + 0.24 * S, y - S * 0.2 - bob], [head[0] + 0.14 * S, head[1]]] + this.polygon(pts, sheet) + this.shape([ell(head[0], head[1], 0.15 * S, 0.15 * S, 0, sheet)], this.lighting, 0.7) + for (const e of [-1, 1]) this.disc(head[0] + e * 0.05 * S + d * 0.03 * S, head[1] - 0.01 * S, Math.max(0.03 * S, 0.5), 0.02, 0.02, 0.03, 1) + } + if (costume === "witch") { + const dress = this.paint([0.24, 0.1, 0.3]) + this.polygon([[x - 0.06 * S, y - S * 0.64 - bob], [x + 0.06 * S, y - S * 0.64 - bob], [x + 0.2 * S, y - S * 0.25 - bob], [x - 0.2 * S, y - S * 0.25 - bob]], dress) + this.shape([ell(head[0], head[1], 0.12 * S, 0.12 * S, 0, this.paint([0.55, 0.75, 0.35]))], this.lighting, 0.6) + const hat = this.paint([0.1, 0.06, 0.12]) + this.ellipse(head[0], head[1] - 0.08 * S, 0.22 * S, Math.max(0.03 * S, 0.6), hat[0], hat[1], hat[2], 1) + this.polygon([[head[0] - 0.11 * S, head[1] - 0.08 * S], [head[0] + 0.11 * S, head[1] - 0.08 * S], [head[0] - d * 0.08 * S, head[1] - 0.42 * S]], hat) + } + if (costume === "pumpkin") { + const orange: RGB = look.style === "front" ? this.paint([0.95, 0.45, 0.06]) : look.skin + this.shape([ell(x, y - S * 0.48 - bob, 0.22 * S, 0.2 * S, 0, orange, 3)], this.lighting, 0.7) + this.shape([ell(head[0], head[1], 0.12 * S, 0.12 * S, 0, skin), cap(head[0], head[1] - 0.12 * S, head[0] + 0.02 * S, head[1] - 0.2 * S, 0.035 * S, 0.025 * S, this.paint([0.25, 0.4, 0.1]))], this.lighting, 0.6) + } + if (costume === "devil") { + const red = this.paint([0.8, 0.1, 0.08]) + this.shape([cap(x, y - S * 0.3 - bob, x, y - S * 0.62 - bob, 0.14 * S, 0.12 * S, red), ell(head[0], head[1], 0.12 * S, 0.12 * S, 0, red)], this.lighting, 0.7) + for (const e of [-1, 1]) this.polygon([[head[0] + e * 0.1 * S, head[1] - 0.06 * S], [head[0] + e * 0.03 * S, head[1] - 0.1 * S], [head[0] + e * 0.12 * S, head[1] - 0.22 * S]], red) + this.shape(chain((t) => [x - d * (0.12 + 0.2 * t) * S, y - S * (0.34 - 0.18 * t + 0.12 * Math.sin(t * 3 + kid.phase * 2))], 4, 0.025 * S, 0.02 * S, red), this.lighting, 0.3) + } + // The bucket swings from the forward hand. + const swing = Math.sin(kid.phase * Math.PI * 2) * 0.25 + const hx = x + d * 0.17 * S + const hy = y - S * 0.46 - bob + const bx = hx + Math.sin(swing) * 0.12 * S + const byy = hy + Math.cos(swing) * 0.12 * S + const arm = costume === "ghost" ? this.paint([0.86, 0.86, 0.9], look.night ? 2.2 : 1) : costume === "devil" ? this.paint([0.8, 0.1, 0.08]) : costume === "witch" ? this.paint([0.24, 0.1, 0.3]) : skin + this.shape([cap(x + d * 0.04 * S, y - S * 0.62 - bob, hx, hy, 0.04 * S, 0.035 * S, arm)], this.lighting, 0.5) + const bucket: RGB = look.style === "front" ? this.paint([0.98, 0.5, 0.06]) : look.skin + this.shape([ell(bx, byy + 0.06 * S, 0.1 * S, 0.08 * S, 0, bucket, 3)], this.lighting, 0.6) + if (look.style === "rim") { + const g = look.glow + this.ellipse(bx, byy + 0.065 * S, 0.06 * S, Math.max(0.025 * S, 0.5), CANDLE[0] * g * 0.7, CANDLE[1] * g * 0.7, CANDLE[2] * g * 0.7, 1) + this.lights.pool(bx, byy, 0.05 * H, 0.035 * H, [1, 0.45, 0.1], 1.2, 0.006) + } + } + + private startWitch() { + const w = this.witch + w.t = 0 + w.dir = Math.random() < 0.5 ? 1 : -1 + w.y = this.orb.y + } + + private stepWitch(dt: number, cdt: number) { + const w = this.witch + if (w.t < 0) { + if (this.activity !== "teeming") return + w.wait -= dt + if (w.wait > 0) return + w.wait = rand(...WITCH_GAP) + this.startWitch() + return + } + w.t += cdt * 0.32 + if (w.t > 1) w.t = -1 + } + + // The witch's place on her crossing: from one edge to the other, swooping through the moon's disc. + private witchAt(t: number): [number, number] { + const w = this.witch + const A = this.A + const mx = this.orb.x * A + const x = w.dir > 0 ? lerp(-0.15, A + 0.15, t) : lerp(A + 0.15, -0.15, t) + const reach = Math.max(mx + 0.15, A - mx + 0.15) + return [x, w.y + 0.06 * ((x - mx) / reach) * w.dir - 0.05 * Math.exp(-(((x - mx) / 0.25) ** 2)) + 0.05 + Math.sin(t * 9) * 0.006] + } + + // A witch riding side-on: a broomstick with its bristles, a cape billowing behind, a pointed hat. + private drawWitch() { + const H = this.H + const [wx, wy] = this.witchAt(this.witch.t) + const x = wx * H + const y = wy * H + const s = 0.05 * H + const d = this.witch.dir + const dark = this.paint([0.09, 0.06, 0.1]) + const broom = this.paint([0.3, 0.2, 0.1]) + const bristle = this.paint([0.55, 0.4, 0.18]) + const flap = Math.sin(this.time * 7) * 0.12 + this.polygon([[x - d * s * 0.95, y + s * 0.1], [x - d * s * 1.55, y - s * 0.12], [x - d * s * 1.7, y + s * 0.2], [x - d * s * 1.5, y + s * 0.42]], bristle) + this.shape([cap(x - d * s * 1.05, y + s * 0.12, x + d * s * 1.05, y - s * 0.06, Math.max(s * 0.05, 0.6), Math.max(s * 0.04, 0.6), broom)], this.lighting, 0.5) + this.polygon([[x - d * s * 0.05, y - s * 0.55], [x - d * s * 1.05, y - s * (0.2 + flap)], [x - d * s * 0.85, y + s * (0.05 - flap)], [x - d * s * 0.2, y + s * 0.02]], dark) + this.shape([ell(x, y - s * 0.22, s * 0.2, s * 0.3, d * 0.3, dark), ell(x + d * s * 0.14, y - s * 0.62, s * 0.12, s * 0.12, 0, dark), cap(x + d * s * 0.08, y - s * 0.42, x + d * s * 0.55, y - s * 0.02, s * 0.06, s * 0.05, dark), cap(x + d * s * 0.05, y - s * 0.05, x + d * s * 0.35, y + s * 0.32, s * 0.07, s * 0.05, dark)], this.lighting, 0.5) + this.ellipse(x + d * s * 0.14, y - s * 0.7, s * 0.3, Math.max(s * 0.05, 0.7), dark[0], dark[1], dark[2], 1) + this.polygon([[x + d * s * 0.0, y - s * 0.72], [x + d * s * 0.3, y - s * 0.72], [x - d * s * 0.3, y - s * 1.25]], dark) + } + + private stepRider(dt: number, cdt: number) { + const r = this.rider + if (r.t < 0) { + r.wait -= dt + if (r.wait > 0) return + r.t = 0 + r.dir = Math.random() < 0.5 ? 1 : -1 + r.gait = gait(r.dir) + return + } + r.t += cdt + stepGait(r.gait, (((this.A + 0.6) / GALLOP) * cdt) / 0.09, cdt, r.dir) + if (r.t < GALLOP) return + r.t = -1 + r.wait = eggWait(true) * TIME_SCALE + } + + // The egg: a headless rider in a billowing cape gallops a black horse along the street, holding a blazing + // jack-o'-lantern high. + private drawRider() { + const { H, look } = this + const r = this.rider + const p = r.t / GALLOP + const x = (r.dir > 0 ? lerp(-0.3, this.A + 0.3, p) : lerp(this.A + 0.3, -0.3, p)) * H + const y = 0.94 * H + const S = 0.13 * H + const g = r.gait + const P = body(x, y, S, g.turn) + const dark = this.paint([0.06, 0.04, 0.07]) + const coat = this.paint([0.12, 0.05, 0.14]) + const rise = Math.abs(Math.sin(g.phase * Math.PI * 2)) * 0.035 + const legs = { fore: 0.27, hind: 0.27, top: 0.52 - rise, w: 0.07, a: 0.26, b: 0.26, reach: 0.2, lift: 0.14, r: [0.09, 0.045, 0.035] as [number, number, number], color: dark, paw: [0.045, dark] as [number, RGB] } + const nod = Math.sin(g.phase * Math.PI * 2) * 0.03 + const mane = (t: number) => P(0.36 - 0.12 * t, -0.95 + 0.25 * t - rise + nod * (1 - t)) + const tail = (t: number) => P(-0.4 - 0.32 * t, -0.68 - rise + 0.12 * t - 0.06 * Math.sin(t * 3 + g.phase * 5)) + this.shape(quadruped(P, g, true, legs), this.lighting, 0.5) + this.shape( + [ + ...quadruped(P, g, false, legs), + ell(...P(0, -0.62 - rise), P.len(0.32, 0.12), 0.15 * S, 0, dark), + ell(...P(0.22, -0.64 - rise), P.len(0.14, 0.12), 0.15 * S, 0, dark), + ell(...P(-0.24, -0.64 - rise), P.len(0.15, 0.12), 0.16 * S, 0, dark), + cap(...P(0.3, -0.7 - rise), ...P(0.42, -0.96 - rise + nod), 0.11 * S, 0.06 * S, dark), + cap(...P(0.42, -0.96 - rise + nod), ...P(0.6, -0.84 - rise + nod), 0.065 * S, 0.04 * S, dark), + ell(...P(0.4, -1.02 - rise + nod), 0.02 * S, 0.04 * S, 0, dark), + ...chain(mane, 3, 0.04 * S, 0.03 * S, dark), + ...chain(tail, 4, 0.05 * S, 0.025 * S, dark), + ], + this.lighting, + 0.5, + ) + // The rider: a long cape streaming back, a high empty collar, one arm on the reins and one raising the lantern. + const flap = Math.sin(this.time * 9) * 0.05 + this.polygon([P(0.02, -1.22 - rise), P(-0.6, -1.08 - rise + flap), P(-0.7, -0.84 - rise - flap), P(-0.06, -0.78 - rise)], coat) + this.shape( + [ + cap(...P(-0.02, -0.8 - rise), ...P(0.02, -1.18 - rise), 0.075 * S, 0.07 * S, dark), + cap(...P(0, -0.78 - rise), ...P(0.12, -0.64 - rise), 0.05 * S, 0.04 * S, dark), + cap(...P(0.12, -0.64 - rise), ...P(0.12, -0.5 - rise), 0.04 * S, 0.035 * S, dark), + cap(...P(0.02, -1.12 - rise), ...P(0.2, -0.95 - rise), 0.035 * S, 0.03 * S, dark), + cap(...P(0.02, -1.14 - rise), ...P(0.16, -1.42 - rise), 0.035 * S, 0.03 * S, dark), + ell(...P(0.02, -1.2 - rise), 0.07 * S, 0.03 * S, 0, coat), + ], + this.lighting, + 0.5, + ) + const [lx, ly] = P(0.17, -1.44 - rise) + const f = firelight(this.time * 4, 9) * (look.night ? 1.4 : 1) + const lantern = { x: lx, y: ly + 0.1 * S, r: 0.08 * S, carved: true, seed: 9, flare: 0 } + this.drawPumpkin(lantern, 1) + this.drawPumpkin(lantern, f * 1.5) + this.lights.pool(lx, ly, 0.2 * H, 0.16 * H, [1, 0.42, 0.08], 3 * f, 0.02 * f) + } + + // Restores the hill, tree, town and fences over clouds and storm drawn in front of them, within the box. + private unsky(x0: number, y0: number, x1: number, y1: number) { + restoreFore(this.hdr, this.background, this.fore, this.W, x0, y0, x1, Math.min(this.H - 1, y1)) + } + + // A thick straight line from a to b (pixels), radius in screen heights. + private edge(a: [number, number], b: [number, number], radius: number, color: RGB) { + const r = this.thick(radius, 0.5) + this.shape([cap(a[0], a[1], b[0], b[1], r, r, color)], this.lighting, 0) + } + + // A thin line of rim light along an outline (pixels) facing the sun or moon. + private rimEdges(pts: [number, number][]) { + const look = this.look + const r = this.thick(0.0012, 0.45) + const lx = this.orb.x * this.W + const parts: Part[] = [] + for (let i = 0; i + 1 < pts.length; i++) { + const [ax, ay] = pts[i] + const [bx, by] = pts[i + 1] + const mx = (ax + bx) / 2 + const facing = clamp(((lx - mx) / this.H) * 2, -1, 1) + if (facing <= 0.05 && Math.abs(ay - by) > Math.abs(ax - bx)) continue + parts.push(cap(ax, ay, bx, by, r, r, look.light)) + } + if (!parts.length) return + const k = look.night ? 0.12 : 0.22 + const c: RGB = [look.light[0] * k, look.light[1] * k, look.light[2] * k] + this.shape(parts.map((p) => ({ ...p, color: c })), this.lighting, 0) + } +} + +// A band of ground fog, rows high from y0, tiled seamlessly across the width: thicker in long low drifts. +function makeFog(W: number, H: number, y0: number, rows: number) { + const tex = new Float32Array(W * rows) + for (let j = 0; j < rows; j++) { + const v = (y0 + j + 0.5) / H + const band = smoothstep(0.6, 0.72, v) * (1 - smoothstep(0.78, 0.88, v)) + for (let x = 0; x < W; x++) { + const n = (sx: number) => fbm2((sx / H) * 2.2, v * 16, 3) + // Blending with the same noise one width over makes the pattern repeat without a seam. + const t = x / W + tex[j * W + x] = band * (n(x) * (1 - t) + n(x - W) * t) + } + } + return tex +} + +// Mixes the fog band toward color, its two layers sliding past each other at off1 and off2 pixels. +function creep(hdr: Float32Array, W: number, H: number, tex: Float32Array, y0: number, rows: number, off1: number, off2: number, color: RGB, alpha: number) { + const i1 = Math.floor(off1) + const f1 = off1 - i1 + const i2 = Math.floor(off2) + const f2 = off2 - i2 + for (let j = 0; j < rows; j++) { + const y = y0 + j + if (y >= H) break + const row = j * W + for (let x = 0; x < W; x++) { + const a0 = (((x + i1) % W) + W) % W + const a = tex[row + a0] * (1 - f1) + tex[row + ((a0 + 1) % W)] * f1 + const b0 = (((x - i2) % W) + W) % W + const b = tex[row + b0] * (1 - f2) + tex[row + ((b0 + W - 1) % W)] * f2 + const d = Math.min(0.9, alpha * smoothstep(0.25, 0.75, (a + b) * 0.5) * 2.2) + if (d <= 0.003) continue + const o = (y * W + x) * 3 + hdr[o] += (color[0] - hdr[o]) * d + hdr[o + 1] += (color[1] - hdr[o + 1]) * d + hdr[o + 2] += (color[2] - hdr[o + 2]) * d + } + } +} + +// Copies the background back over the pixels marked in fore, inside the box. +function restoreFore(hdr: Float32Array, background: Float32Array, fore: Uint8Array, W: number, x0: number, y0: number, x1: number, y1: number) { + for (let y = y0; y <= y1; y++) + for (let x = x0; x <= x1; x++) { + const i = y * W + x + if (!fore[i]) continue + hdr[i * 3] = background[i * 3] + hdr[i * 3 + 1] = background[i * 3 + 1] + hdr[i * 3 + 2] = background[i * 3 + 2] + } +} + +export const halloween: Wallpaper = { + id: "halloween", + name: "Halloween", + description: "A crooked little town where it's always Halloween, with glowing jack-o'-lanterns, a gnarled tree on the hill and a huge moon, and a witch flying by now and then", + activity: { + calm: "Jack-o'-lanterns and lanterns flicker, leaves drift and fog creeps through the town", + lively: "Adds bats fluttering about, ghosts drifting slowly and a black cat on the fence", + teeming: "Adds trick-or-treaters walking the street, a witch crossing the moon and the scarecrow waving", + }, + scrim: { + day: [ + [46, 40, 50], + [56, 42, 32], + [36, 28, 24], + ], + sunset: [ + [24, 8, 30], + [46, 16, 22], + [14, 6, 12], + ], + night: [ + [4, 2, 14], + [8, 4, 22], + [5, 3, 12], + ], + }, + create: (settings) => new Halloween(settings), +} diff --git a/wallpapers/index.ts b/wallpapers/index.ts index 23aa04e..0408d65 100644 --- a/wallpapers/index.ts +++ b/wallpapers/index.ts @@ -3,6 +3,7 @@ import { city } from "./city" import { desert } from "./desert" import { dome } from "./dome" import { farm } from "./farm" +import { halloween } from "./halloween" import { jungle } from "./jungle" import { megacity } from "./megacity" import { ocean } from "./ocean" @@ -12,4 +13,4 @@ import { space } from "./space" import { tundra } from "./tundra" import { zen } from "./zen" -export const WALLPAPERS = [ocean, desert, jungle, space, farm, tundra, beach, city, zen, prehistoric, rider, megacity, dome] +export const WALLPAPERS = [ocean, desert, jungle, space, farm, tundra, beach, city, zen, prehistoric, rider, megacity, dome, halloween] From 887d0a3dc3594ba43837bd497bed36d6f075ed98 Mon Sep 17 00:00:00 2001 From: vprdev Date: Sun, 11 Oct 2026 10:49:45 -0700 Subject: [PATCH 02/12] Shape the Halloween town, scarecrow and rider; dim rims under cloud --- wallpapers/halloween.ts | 110 +++++++++++++++++++++++++--------------- 1 file changed, 68 insertions(+), 42 deletions(-) diff --git a/wallpapers/halloween.ts b/wallpapers/halloween.ts index ded4636..b9a896e 100644 --- a/wallpapers/halloween.ts +++ b/wallpapers/halloween.ts @@ -70,7 +70,7 @@ const LOOKS: Record = { [0.32, [0.6, 0.56, 0.52]], [HORIZON, [0.98, 0.7, 0.38]], ], - orb: { x: 0.12, y: 0.15, r: 0.045, core: [3.4, 2.6, 1.5], glow: [1, 0.7, 0.35], near: 0.4, wide: 0.22 }, + orb: { x: 0.12, y: 0.15, r: 0.045, core: [3.2, 2.2, 1], glow: [1, 0.66, 0.3], near: 0.4, wide: 0.22 }, stars: 0, clouds: [ [1, 0.86, 0.68], @@ -178,8 +178,8 @@ const LOOKS: Record = { window: [1.6, 0.78, 0.22], lit: 0.75, glow: 1.25, - fog: [0.12, 0.065, 0.26], - fogAlpha: 0.34, + fog: [0.15, 0.08, 0.3], + fogAlpha: 0.4, ghost: [0.22, 1.1, 0.78], skin: [0.32, 0.1, 0.02], tint: [0.1, 0.06, 0.18], @@ -278,6 +278,7 @@ class Halloween extends Canvas { private readonly look: Look private readonly weather: WeatherLayer private lighting: Lighting = { style: "front", dir: DAYLIGHT } + private light: RGB = [1, 1, 1] private readonly lights = new LightMap() private stars: Star[] private shown: Star[] = [] @@ -361,7 +362,7 @@ class Halloween extends Canvas { this.lights.clear(W, H) this.drawLights() if (this.activity !== "calm") this.drawCat() - if (this.activity === "teeming") this.drawScarecrowArm(true) + if (this.activity === "teeming") this.drawArm(1, smoothstep(0, 1, Math.sin((this.time / 22) * TAU) * 2 - 1)) for (const kid of [...this.kids].sort((a, b) => a.y - b.y)) this.drawKid(kid) if (this.rider.t >= 0) this.drawRider() this.lights.apply(hdr) @@ -393,7 +394,10 @@ class Halloween extends Canvas { const k = (this.k = clamp(A / 1.7, 0.58, 1)) this.crest = 0.2 * k this.orb = { ...look.orb, x: (this.crest + look.orb.x * k) / A } - this.lighting = look.style === "front" ? { style: "front", dir: DAYLIGHT } : { style: "rim", color: look.light, x: this.orb.x * W, y: this.orb.y * H } + // Under a cloud deck the hidden sun or moon only faintly rims things. + const veil = this.weather.covered ? 0.3 : 1 + this.light = [look.light[0] * veil, look.light[1] * veil, look.light[2] * veil] + this.lighting = look.style === "front" ? { style: "front", dir: DAYLIGHT } : { style: "rim", color: this.light, x: this.orb.x * W, y: this.orb.y * H } this.pumpkins = [] this.lanterns = [] this.candles = [] @@ -406,6 +410,7 @@ class Halloween extends Canvas { this.paintTree() this.paintPatch() this.paintStreet() + this.paintFallen() this.paintFences() this.paintCorners() for (const p of this.pumpkins) this.drawPumpkin(p, 1) @@ -459,7 +464,7 @@ class Halloween extends Canvas { const grain = 0.9 + 0.2 * fbm2(u * 9, v * 40, 2) const face = look.style === "front" ? 1 + 0.18 * clamp((this.crest - u) * 4, -1, 1) : 1 const rim = look.style === "rim" ? Math.exp(-((v - hill) * H) / (2 * this.px)) * (look.night ? 0.12 : 0.2) : 0 - for (let c = 0; c < 3; c++) hdr[o + c] += (look.hill[c] * grain * face + look.light[c] * rim - hdr[o + c]) * a3 + for (let c = 0; c < 3; c++) hdr[o + c] += (look.hill[c] * grain * face + this.light[c] * rim - hdr[o + c]) * a3 } } // Distant cottages on the ridge, their windows lit after dark. @@ -481,7 +486,7 @@ class Halloween extends Canvas { const spots: [number, number, number][] = [ [A - 0.28 * k, YARD, 0.075], [A + 0.01, YARD, 0.09], - [A - 0.72 * k, YARD + 0.005, 0.055], + [A - 0.78 * k, YARD + 0.005, 0.055], [0.0, this.hillY(0) + 0.01, 0.06], ] const bark = this.paint([0.22, 0.14, 0.1]) @@ -495,7 +500,7 @@ class Halloween extends Canvas { const c = LEAVES[(i + j) % 3] parts.push(ell((x + Math.cos(a) * d) * H, (cy + Math.sin(a) * d * 0.8) * H, r * (0.5 + 0.15 * hash(j + i)) * H, r * (0.45 + 0.1 * hash(j * 2 + i)) * H, 0, this.paint([c[0] * 0.85, c[1] * 0.85, c[2] * 0.85]))) } - this.shape(parts, this.lighting, 0.8) + this.shape(parts, this.lighting, this.look.style === "rim" ? 0.45 : 0.8) } } @@ -507,9 +512,9 @@ class Halloween extends Canvas { const houses = [ { x: A - 0.065 * k, w: 0.11 * k, h: 0.2, roof: 0.12, lean: 0.008, color: 0, side: -1 }, { x: A - 0.2 * k, w: 0.1 * k, h: 0.15, roof: 0.1, lean: -0.01, color: 1, side: -1 }, - { x: A - 0.62 * k, w: 0.095 * k, h: 0.12, roof: 0.11, lean: 0.012, color: 2, side: 1 }, + { x: A - 0.66 * k, w: 0.095 * k, h: 0.125, roof: 0.11, lean: 0.012, color: 2, side: 1 }, ] - this.paintChurch(A - 0.4 * k, anchors) + this.paintChurch(A - 0.44 * k, anchors) for (const [i, h] of houses.entries()) anchors.push(...this.paintHouse(h.x, YARD, h.w, h.h, h.roof, h.lean, h.color, h.side, i)) // Strings of lanterns between the eaves. anchors.sort((a, b) => a[0] - b[0]) @@ -559,8 +564,7 @@ class Halloween extends Canvas { for (let r = 0; r < rows; r++) for (let c = 0; c < cols; c++) { const u = (c - (cols - 1) / 2) * w * 0.45 - const v = h - 0.035 - r * 0.07 - if (r === rows - 1 && c === 0 && rows === 1) continue + const v = rows === 1 ? h - 0.03 : h - 0.035 - r * 0.07 this.paintWindow(P, u, v, 0.016, 0.026, seed * 7 + r * 3 + c) } const g = P(0, h + roofH * 0.38) @@ -568,7 +572,7 @@ class Halloween extends Canvas { const gc = lit ? look.window : look.glass this.disc(g[0], g[1], 0.011 * H, roof[0], roof[1], roof[2], 1) this.disc(g[0], g[1], 0.008 * H, gc[0], gc[1], gc[2], 1) - const du = rows === 1 ? -w * 0.22 : 0 + const du = 0 const door = [P(du - 0.013, 0), P(du + 0.013, 0), P(du + 0.013, 0.04), P(du, 0.048), P(du - 0.013, 0.04)] this.polygon(door, this.paint([0.2, 0.1, 0.08])) // A step and a jack-o'-lantern by the door. @@ -604,7 +608,7 @@ class Halloween extends Canvas { const top = YARD - 0.36 // The nave, to the right of the tower. const n0 = x + tw * 0.8 - const n1 = x + 0.17 * k + const n1 = x + 0.145 * k const nh = 0.13 this.polygon([[n0 * H, YARD * H], [n1 * H, YARD * H], [n1 * H, (YARD - nh) * H], [n0 * H, (YARD - nh) * H]], [stone[0] * 0.92, stone[1] * 0.92, stone[2] * 0.95]) this.polygon([[(n0 - 0.01) * H, (YARD - nh + 0.004) * H], [(n1 + 0.012) * H, (YARD - nh + 0.004) * H], [(n1 - 0.02) * H, (YARD - nh - 0.07) * H], [(n0 + 0.01) * H, (YARD - nh - 0.075) * H]], roof) @@ -638,6 +642,17 @@ class Halloween extends Canvas { this.disc(tip[0] + 0.002 * H, tip[1] - 0.027 * H, 0.004 * H, roof[0], roof[1], roof[2], 1) if (look.style === "rim") this.rimEdges([T(-tw, YARD), T(-tw, top), T(-tw - 0.008, top), tip, T(tw + 0.008, top)]) anchors.push([n1 * H, (YARD - nh) * H], T(-tw, top + 0.1)) + // Leaning headstones in the churchyard. + const grave = this.paint([0.5, 0.48, 0.5], look.night ? 2.5 : 1) + for (let i = 0; i < 5; i++) { + const gx = x - 0.07 * k + i * 0.045 * k + (hash(i * 2.3) - 0.5) * 0.012 + const gy = YARD + 0.014 + hash(i * 5.1) * 0.012 + const gh = 0.02 + 0.008 * hash(i * 3.7) + const gw = 0.008 + 0.003 * hash(i * 1.1) + const tilt = (hash(i * 7.9) - 0.5) * 0.012 + this.shape([cap(gx * H, gy * H, (gx + tilt) * H, (gy - gh + gw) * H, gw * H, gw * H, grave)], this.lighting, 0.6) + this.polygon([[(gx - gw) * H, gy * H], [(gx + gw) * H, gy * H], [(gx + gw + tilt * 0.5) * H, (gy - gh * 0.5) * H], [(gx - gw + tilt * 0.5) * H, (gy - gh * 0.5) * H]], grave) + } this.pumpkins.push({ x: T(-tw - 0.012, YARD)[0], y: (YARD + 0.004) * H, r: 0.012 * H, carved: true, seed: 71, flare: 0 }) } @@ -720,7 +735,7 @@ class Halloween extends Canvas { } const sx = 0.42 * k this.scarecrow = { x: sx, y: Math.max(this.hillY(sx) + 0.03, 0.7) } - this.drawScarecrow(this.activity !== "teeming") + this.drawScarecrow() } // The street: worn cobbles under the fences, a curb, and a strip of grass along the bottom. @@ -754,13 +769,28 @@ class Halloween extends Canvas { } } + // Fallen leaves drifted against the curb and in the grass, toward the sides. + private paintFallen() { + const { A, H } = this + const k = this.k + const r = this.thick(0.005, 1) + for (let i = 0; i < 36; i++) { + const side = i % 2 ? 1 : -1 + const d = hash(i * 3.3) ** 1.5 * 0.55 * k + const x = side < 0 ? d : A - d + const y = hash(i * 1.7) < 0.4 ? FENCE + 0.006 + hash(i * 5.9) * 0.008 : 0.958 + hash(i * 7.1) * 0.04 + const c = this.paint(LEAVES[i % LEAVES.length], 0.8) + this.ellipse(x * H, y * H, r * 1.4, r * 0.8, c[0], c[1], c[2], 0.9) + } + } + // Iron fences with spear-tipped bars and stone pillars, in front of the pumpkin patch and the houses, with lanterns // strung between tall posts over the patch. private paintFences() { const { A, H } = this const k = this.k this.paintFence(-0.02, 0.62 * k, 0.05) - this.paintFence(A - 0.7 * k, A + 0.02, 0.045) + this.paintFence(A - 0.76 * k, A + 0.02, 0.045) const posts = [0.04 * k, 0.24 * k, 0.44 * k, 0.64 * k] const wood = this.paint([0.16, 0.11, 0.09]) for (const x of posts) this.shape([cap(x * H, FENCE * H, x * H, (FENCE - 0.15) * H, this.thick(0.0028, 0.8), this.thick(0.0022, 0.7), wood)], this.lighting, 0.5) @@ -851,45 +881,41 @@ class Halloween extends Canvas { if (light === 1 && look.style === "front") this.shape([ell(l.x, l.y, l.r * 0.9, l.r, 0, [c[0] * 0.5, c[1] * 0.5, c[2] * 0.5])], this.lighting, 0.5) } - private drawScarecrow(arms: boolean) { + // The scarecrow on its post in the patch: a patched coat, straw at the cuffs, a jack-o'-lantern head and a floppy + // pointed hat. In teeming its right arm is drawn each frame, to wave. + private drawScarecrow() { const { H } = this const { x, y } = this.scarecrow const wood = this.paint([0.3, 0.2, 0.12]) - const coat = this.paint([0.32, 0.2, 0.36]) + const coat = this.paint([0.42, 0.22, 0.46]) const straw = this.paint([0.85, 0.66, 0.25]) const S = 0.13 this.shape([cap(x * H, y * H, x * H, (y - S * 0.95) * H, this.thick(0.0025, 0.8), this.thick(0.0025, 0.8), wood)], this.lighting, 0.5) - if (arms) this.drawScarecrowArm(false) - this.shape([cap(x * H, (y - S * 0.42) * H, x * H, (y - S * 0.72) * H, 0.017 * H, 0.014 * H, coat), ell(x * H, (y - S * 0.4) * H, 0.02 * H, 0.012 * H, 0, coat)], this.lighting, 0.7) + this.drawArm(-1, 0) + if (this.activity !== "teeming") this.drawArm(1, 0) + this.shape([cap(x * H, (y - S * 0.42) * H, x * H, (y - S * 0.7) * H, 0.018 * H, 0.015 * H, coat), ell(x * H, (y - S * 0.4) * H, 0.021 * H, 0.012 * H, 0, coat)], this.lighting, 0.7) + this.shape([ell((x + 0.006) * H, (y - S * 0.5) * H, 0.006 * H, 0.006 * H, 0.3, this.paint([0.85, 0.45, 0.12]))], this.lighting, 0.4) for (const s of [-1, 1]) this.shape([cap((x + s * 0.008) * H, (y - S * 0.36) * H, (x + s * 0.012) * H, (y - S * 0.27) * H, 0.003 * H, 0.0015 * H, straw)], this.lighting, 0.3) - // A pumpkin head under a floppy pointed hat. - this.pumpkins.push({ x: x * H, y: (y - S * 0.72) * H, r: 0.014 * H, carved: true, seed: 500, flare: 0 }) + this.pumpkins.push({ x: x * H, y: (y - S * 0.7) * H, r: 0.015 * H, carved: true, seed: 500, flare: 0 }) const hat = this.paint([0.14, 0.1, 0.12]) - const hy = (y - S * 0.72 - 0.023) * H - this.ellipse(x * H, hy, 0.024 * H, 0.004 * H, hat[0], hat[1], hat[2], 1) - this.polygon([[(x - 0.012) * H, hy], [(x + 0.012) * H, hy], [(x + 0.016) * H, hy - 0.025 * H], [(x + 0.026) * H, hy - 0.02 * H]], hat) + const hy = (y - S * 0.7 - 0.024) * H + this.ellipse(x * H, hy, 0.025 * H, 0.0045 * H, hat[0], hat[1], hat[2], 1) + this.polygon([[(x - 0.012) * H, hy], [(x + 0.012) * H, hy], [(x + 0.016) * H, hy - 0.026 * H], [(x + 0.027) * H, hy - 0.02 * H]], hat) } - // The scarecrow's straw-stuffed arms on their crossbar; in teeming the right one waves now and then. - private drawScarecrowArm(moving: boolean) { + // One of the scarecrow's straw-stuffed arms along its crossbar, raised by wave (0 to 1) and waggling. + private drawArm(side: number, wave: number) { const { H } = this const { x, y } = this.scarecrow - const S = 0.13 - const coat = this.paint([0.32, 0.2, 0.36]) + const coat = this.paint([0.42, 0.22, 0.46]) const straw = this.paint([0.85, 0.66, 0.25]) - const sy = (y - S * 0.66) * H - const wave = moving ? smoothstep(0, 1, Math.sin((this.time / 22) * TAU) * 2 - 1) : 0 - const a = -wave * (1.1 + 0.35 * Math.sin(this.time * 5)) + const sy = y - 0.13 * 0.64 + const a = side > 0 ? -wave * (1.15 + 0.3 * Math.sin(this.time * 5)) : Math.PI const L = 0.05 - const parts: Part[] = [] - if (!moving) parts.push(cap(x * H, sy, (x - L) * H, sy + 0.004 * H, 0.006 * H, 0.005 * H, coat)) const ex = x + Math.cos(a) * L - const ey = sy / H + Math.sin(a) * L + 0.004 - parts.push(cap(x * H, sy, ex * H, ey * H, 0.006 * H, 0.005 * H, coat)) - if (!moving || wave > 0.01 || true) this.shape(parts, this.lighting, 0.6) - const hands: Part[] = [cap(ex * H, ey * H, (ex + Math.cos(a) * 0.012) * H, (ey + Math.sin(a) * 0.012 + 0.004) * H, 0.004 * H, 0.002 * H, straw)] - if (!moving) hands.push(cap((x - L) * H, sy + 0.004 * H, (x - L - 0.012) * H, sy + 0.008 * H, 0.004 * H, 0.002 * H, straw)) - this.shape(hands, this.lighting, 0.3) + const ey = sy + Math.sin(a) * L * (side > 0 ? 1 : 0) + 0.004 + this.shape([cap(x * H, sy * H, ex * H, ey * H, 0.0065 * H, 0.0055 * H, coat)], this.lighting, 0.6) + this.shape([cap(ex * H, ey * H, (ex + Math.cos(a) * 0.013) * H, (ey + Math.sin(a) * 0.013 + 0.004) * H, 0.0045 * H, 0.002 * H, straw)], this.lighting, 0.3) } // Bats loop around the moon, the tree and the spire; ghosts haunt the hill and the churchyard; the cat sits on the @@ -1266,11 +1292,11 @@ class Halloween extends Canvas { const mx = (ax + bx) / 2 const facing = clamp(((lx - mx) / this.H) * 2, -1, 1) if (facing <= 0.05 && Math.abs(ay - by) > Math.abs(ax - bx)) continue - parts.push(cap(ax, ay, bx, by, r, r, look.light)) + parts.push(cap(ax, ay, bx, by, r, r, this.light)) } if (!parts.length) return const k = look.night ? 0.12 : 0.22 - const c: RGB = [look.light[0] * k, look.light[1] * k, look.light[2] * k] + const c: RGB = [this.light[0] * k, this.light[1] * k, this.light[2] * k] this.shape(parts.map((p) => ({ ...p, color: c })), this.lighting, 0) } } From 8e00dd09a30be27b115963dad56f6af2ac363e9e Mon Sep 17 00:00:00 2001 From: vprdev Date: Sun, 11 Oct 2026 10:54:10 -0700 Subject: [PATCH 03/12] Document the Halloween wallpaper and add its screenshots and GIF --- README.md | 16 ++++++++++++---- dev/gif.ts | 2 +- screenshots/halloween-night.png | Bin 0 -> 243817 bytes screenshots/halloween-sunset.png | Bin 0 -> 325624 bytes screenshots/halloween.gif | Bin 0 -> 564336 bytes screenshots/halloween.png | Bin 0 -> 288701 bytes wallpapers/halloween.ts | 6 ++++-- 7 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 screenshots/halloween-night.png create mode 100644 screenshots/halloween-sunset.png create mode 100644 screenshots/halloween.gif create mode 100644 screenshots/halloween.png diff --git a/README.md b/README.md index b7bdaf9..4157a4e 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,7 @@ With a light OpenCode theme the scene is washed out toward white instead of dimm | `rider` | A red capsule bike on pale cracked concrete, its rider walking up to it, with another of the gang speeding by now and then. | | `megacity` | A canyon of towers over a neon avenue, where motorbikes ride off into the haze trailing red light. | | `dome` | A vast black energy dome over a ruined city, its foot blazing with light under a ring of clouds, with a gunship crossing now and then. | +| `halloween` | A crooked little town where it's always Halloween, with glowing jack-o'-lanterns, a gnarled tree on the hill and a huge moon, and a witch flying by now and then. | ### Activity @@ -71,6 +72,7 @@ Every wallpaper has three activity levels, which set how much is going on behind | `rider` | The bike, the rider standing by it, and drifting dust | He walks slowly up to the bike and back, and paper and pebbles skitter in the gusts | He rides off in a red tail-light streak and slides back in sideways | | `megacity` | The glowing city, windows coming and going, and a distant bike now and then | Adds bikes riding up the avenue with their light trails, and searchlights sweeping the sky | Adds a biker gang streaming through, a sideways slide now and then, and an airship overhead | | `dome` | The dome, its slowly breathing light and the creeping cloud ring | Light pulses out along the streets, rubble floats up and the sky's ripples spread | The dome swells and recedes, shockwaves roll through the clouds, rubble swirls up and lightning flickers | +| `halloween` | Jack-o'-lanterns and lanterns flicker, leaves drift and fog creeps through the town | Adds bats fluttering about, ghosts drifting slowly and a black cat on the fence | Adds trick-or-treaters walking the street, a witch crossing the moon and the scarecrow waving | ### Time of day @@ -107,6 +109,9 @@ menu to keep it fixed. - **Dome:** a smoky pale sky over a gray-green ruin with the dome's light dimmed by day, warm-lit clouds under an orange-red sky and a green-gold blaze at sunset, and at night a near-black sky over deep blue clouds with the city lit green and teal from the dome's foot. +- **Halloween:** an amber autumn afternoon under a hazy sky with orange trees and pumpkins in the sun, a blazing + orange sunset going purple overhead with the town in silhouette, and a deep violet night under a huge gold-orange + moon, with glowing windows, flickering jack-o'-lanterns and teal ghosts. ## Seasons and weather @@ -122,7 +127,7 @@ it fixed. winter. - **Zen garden:** cherry blossom in spring, green leaves in summer, red and gold leaves falling in autumn, and bare branches under a light snowfall in winter. -- **Ocean, space, tundra, city, prehistoric, rider, megacity and dome** look the same all year. +- **Ocean, space, tundra, city, prehistoric, rider, megacity, dome and halloween** look the same all year. | Spring | Summer | Autumn | Winter | | --- | --- | --- | --- | @@ -147,9 +152,10 @@ Wallpapers quietly follow what the agent is doing: - **Working:** the scene moves a little faster while any session runs, barely at all when calm. - **Done:** when the last running session finishes, the wallpaper's visitor shows up: the whale, a tumbleweed, a toucan (fireflies flashing together at night), a comet, the tractor, a snowy owl, a sailboat, the blimp, the heron, - the T. rex, another rider of the gang, a biker gang or the gunship. + the T. rex, another rider of the gang, a biker gang, the gunship or a witch on her broomstick. - **Error:** after a failed run, dark clouds roll in (in the ocean and jungle the light shafts fade, in space the star - dims, on the rider's concrete their shadows drift by, and over the dome its blaze sinks) and the scene darkens + dims, on the rider's concrete their shadows drift by, over the dome its blaze sinks, and in the Halloween town the + jack-o'-lanterns burn low) and the scene darkens slightly. It clears when the agent works again, or after a couple of minutes. ## Clicks and surprises @@ -172,6 +178,7 @@ every click; dialogs, popups and text are never pokes. | `rider` | The pavement cracks a little and pebbles scatter | Chunks of pavement float up around a crater, then drop back | | `megacity` | A bike rides up the avenue from the road, or a burst of windows lights up on the towers | A dome of light swells up silently at the far end of the avenue | | `dome` | A ripple through the clouds, a shockwave from the dome, or rubble kicked up off the city | A red motorbike tears across the city in a streak of tail light | +| `halloween` | A jack-o'-lantern blazes up, or a flurry of bats bursts out | A headless rider gallops down the street holding a blazing jack-o'-lantern | Click reactions that involve animals need the lively or teeming level. The rare events come along about once every hour or two of watching, never sooner than half an hour apart, and changing settings doesn't reset the wait. @@ -224,7 +231,7 @@ At teeming, played back at 3x speed: | ![Beach in motion](screenshots/beach.gif) | ![City in motion](screenshots/city.gif) | | ![Zen garden in motion](screenshots/zen.gif) | ![Prehistoric in motion](screenshots/prehistoric.gif) | | ![Rider in motion](screenshots/rider.gif) | ![Megacity in motion](screenshots/megacity.gif) | -| ![Dome in motion](screenshots/dome.gif) | | +| ![Dome in motion](screenshots/dome.gif) | ![Halloween in motion](screenshots/halloween.gif) | | | Day | Sunset | Night | | --- | --- | --- | --- | @@ -241,6 +248,7 @@ At teeming, played back at 3x speed: | Rider | ![Rider by day](screenshots/rider.png) | ![Rider at sunset](screenshots/rider-sunset.png) | ![Rider at night](screenshots/rider-night.png) | | Megacity | ![Megacity by day](screenshots/megacity.png) | ![Megacity at sunset](screenshots/megacity-sunset.png) | ![Megacity at night](screenshots/megacity-night.png) | | Dome | ![Dome by day](screenshots/dome.png) | ![Dome at sunset](screenshots/dome-sunset.png) | ![Dome at night](screenshots/dome-night.png) | +| Halloween | ![Halloween by day](screenshots/halloween.png) | ![Halloween at sunset](screenshots/halloween-sunset.png) | ![Halloween at night](screenshots/halloween-night.png) | ## License diff --git a/dev/gif.ts b/dev/gif.ts index 2821e2d..34dab94 100644 --- a/dev/gif.ts +++ b/dev/gif.ts @@ -13,7 +13,7 @@ const FPS = 12.5 const START = 45 const FADE = 1.5 // The time of day each wallpaper looks best at in the README; others use day. -const BEST: Record = { ocean: "day", desert: "sunset", jungle: "day", space: "sunset", farm: "sunset", tundra: "night", beach: "sunset", city: "night", zen: "sunset", prehistoric: "sunset", rider: "day", megacity: "night", dome: "night" } +const BEST: Record = { ocean: "day", desert: "sunset", jungle: "day", space: "sunset", farm: "sunset", tundra: "night", beach: "sunset", city: "night", zen: "sunset", prehistoric: "sunset", rider: "day", megacity: "night", dome: "night", halloween: "night" } // Wallpapers in the hero GIF at the top of the README, each shown for HERO_SECONDS. const HERO = ["beach", "tundra", "jungle", "desert", "space"] const HERO_SECONDS = 2 diff --git a/screenshots/halloween-night.png b/screenshots/halloween-night.png new file mode 100644 index 0000000000000000000000000000000000000000..36e0f17607051e1c51487c76d34a4ddc02eb1eb8 GIT binary patch literal 243817 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

`d6*jy5eL=vhr%yQwEs@{T*)A5OX5=7^iCCh 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

ST_15%vOUx3jb%zr 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 w;Axn0 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