# CREDITS — 06-shape-morph

## Visuals
Every frame of this film is **original code** written for this demo
(`parts/shapes.mjs`, `parts/film.mjs`, `index.html`). All eight silhouettes —
coffee cup, sun disc, sunset-over-sea, gull, paper plane, location pin, heart and
the `m` monogram — were authored by hand as SVG path strings for this project.
No third-party shape data, icon set, template, shader or reference artwork was
copied.

The brand in the end lockup, **“morphe” / 一形万物**, is invented for this film.
No real trademark, logo or brand appears anywhere in the piece.

## Code libraries
| Library | Version | Licence | Use | Source |
|---|---|---|---|---|
| flubber | 0.4.2 (UMD build) | MIT | vertex-matched polygon interpolation for every A → circle → B morph, vendored to `parts/flubber.min.js` | npm package `flubber`, downloaded from jsDelivr and committed; **never** loaded from a CDN at render time. Copyright (c) 2015 Noah Veltman. |

Everything else is hand-written: the timeline/easing maths is imported from the
project's own `shared/ease.mjs` (no external dependency), the canvas renderer,
the colour-field wipe, the grain/vignette layers and the accent line systems are
all original.

## Fonts
No font files are vendored. The film uses only fonts that ship with macOS, so
there is nothing to license and no network fetch at render time:

| Family | Role | Notes |
|---|---|---|
| Helvetica Neue / Helvetica / Arial | Latin UI type: the `morphe` wordmark, the `01 … 07` beat numbers, `COFFEE … HEART`, `SHAPE MORPH` | system font (macOS / Helvetica Neue) |
| PingFang SC (fallback Hiragino Sans GB, Heiti SC) | Chinese type: 咖啡 日出 落日 海鸥 远行 抵达 心意 and the tagline 一形万物 | system font (macOS) |

## Sound
The entire soundtrack is synthesised from scratch by `audio.py` using the
project's own dependency-free toolkit `shared/audio.py` (sine/saw/square/tri
oscillators, noise, filters, ADSR envelopes, kick/sub/pop/blip/bell/pad/stab/
whoosh/riser/impact/chirp/hat, plus a convolution-ish reverb and the limiter).
**No samples, loops, plugins or third-party audio were used.** Every generator is
seeded, so the mix is bit-identical on every render.

## Assets summary
- Images / textures: none imported — the grain tiles and the vignette are
  generated procedurally at load time with `mulberry32`.
- Music / SFX: none imported.
- Third-party brand marks: none.
