# CREDITS — 12-synthwave · NEON DRIVE · 霓虹疾驰

## Summary

All visuals are **original canvas-2D code**, written for this demo. No stock footage, no
imported images, no third-party shader or composition was copied from any other project.
The brand **"NEON DRIVE / 霓虹疾驰 / Midnight"** is invented; no real company, logo or
trademark appears anywhere in the film.

## Fonts

All fonts are **macOS system fonts** — nothing is vendored, downloaded, embedded or
redistributed; the film only *names* them and falls back through the CSS stack if a name is
absent.

| use | family (in priority order) | licence |
|---|---|---|
| chrome title "Midnight", OSD numerals | `Avenir Next Condensed Heavy`, `Helvetica Neue Condensed Black`, generic `sans-serif` | Apple system font (bundled with macOS; not redistributed) |
| Chinese tagline 霓虹疾驰 / 正在载入 | `PingFang SC`, `Hiragino Sans GB`, generic `sans-serif` | Apple system font (bundled with macOS) |
| neon script "Midnight" write-on | `Snell Roundhand Black`, `Snell Roundhand`, `cursive` | Apple system font (bundled with macOS) |
| Y2K window & UI chrome | `Geneva`, `Helvetica Neue`, generic `sans-serif` | Apple system font (bundled with macOS) |

No font file is written to `parts/`; the browser resolves these at render time on the
installed system. Glyph coverage for 中文 was verified by eye in the stills (no tofu).

## Code / libraries

| source | what | licence |
|---|---|---|
| `shared/ease.mjs` (project helper) | maths only — `clamp, lerp, smooth, span, easeOut*, mulberry32, valueNoise2D, grain, vignette, rgba, catmullRom` | part of this project |
| `shared/audio.py` (project helper) | dependency-free 48 kHz stereo synthesis primitives | part of this project |
| `parts/film.mjs` | **all** drawing: sky, sun, mountains, perspective grid, palms, neon script, Y2K window, chrome type, VHS/CRT post chain | original, this project |
| `audio.py` | synthwave score + all SFX, built from `shared/audio.py` generators | original, this project |

No CDN, no runtime network request, no vendored third-party library. Nothing is loaded from
outside `/private/tmp/mg15`.

## Sound

100% synthesised at render time from `shared/audio.py` oscillators/noise/envelopes. No
samples, no recordings, no external loops. Deterministic (seeded noise only).

## Assets checklist

- [x] no images / textures / video files
- [x] no third-party fonts redistributed
- [x] no third-party code copied
- [x] no real trademark, logo or brand
- [x] all sound synthesised, licence-free
