# CREDITS — 13-pixel-art / 「像素冒险 PIXEL QUEST」

## Fonts (vendored into `parts/`)
| file | font | source | licence |
|---|---|---|---|
| `parts/pixel-zh.woff2` | Fusion Pixel Font 12px proportional — Simplified Chinese subset | https://github.com/TakWolf/fusion-pixel-font (release 2026.09.25) | SIL Open Font License 1.1 (`parts/FUSION-OFL.txt`, upstream composite of Cubic 11 / Ark Pixel / Galmuri, all OFL) |
| `parts/pixel-latin.woff2` | Fusion Pixel Font 12px proportional — Latin subset | same package | SIL OFL 1.1 |

Both are true 12 px bitmap-derived pixel typefaces: they are rasterised at their native size,
thresholded to hard 0/1 alpha, and only then blitted, so the ×6 nearest-neighbour upscale stays
razor sharp (no anti-aliased fringes).

## Colour palette
The 16-colour palette is the **PICO-8** palette (Lexaloffle / zep). Colour values are not
copyrightable, but the palette is credited here as the design reference. No PICO-8 code, sprite,
font or asset is used.

## Code / libraries
* **All visuals are original code written for this film.** Every sprite (hero run cycle, slime,
  coin, gem, chest, hearts), the parallax layers, the dithered sky ramps, the CRTFX pass and the
  logo letterforms are generated by the `.mjs` files in `parts/`.
* No third-party runtime library is loaded. Nothing is fetched from a CDN at render time.
  (`parts/*.mjs` = the film; the only import from outside the demo folder is the task-provided
  `/shared/ease.mjs` maths helper module: `clamp`, `lerp`, `span`, `smooth`, `mulberry32`,
  `easeOutCubic`, `easeOutQuint`.)
* Logo letterforms: hand-authored 5×7 bitmap capitals in `parts/atlas.mjs` (`FONT5x7`), extruded
  and outlined in code — not a font.

## Sound
* **Original synthesis.** `audio.py` builds every sound from the task-provided
  `/shared/audio.py` toolkit (oscillators, noise, envelopes) — pulse lead, triangle bass, noise
  drums, and all SFX (coin blips, jump chirp, stomp impact, chest bell, riser, whoosh).
  No samples, no loops, no external audio files. Deterministic (seeded RNG only).

## Brands
No real trademark or logo appears. "PIXEL QUEST / 像素冒险" and the character are invented for
this film.

## Determinism
Every frame is a pure function of `t`. No `Math.random()`, `Date.now()`, CSS transition/animation,
rAF-driven state or `t`-accumulation exists anywhere in `index.html` or `parts/` (verified by
grep). Randomness (pebbles, tree placement, particles, twinkles) uses `mulberry32(seed)` with
fixed seeds.
