# Unknown Pleasures Generator browser adaptation

Original project: [dvida/UnknownPleasuresGenerator](https://github.com/dvida/UnknownPleasuresGenerator), by Denis Vida (dvida).

Source revision: [5640e457fce7e8baae864dc2106168ba4fdbdeac](https://github.com/dvida/UnknownPleasuresGenerator/commit/5640e457fce7e8baae864dc2106168ba4fdbdeac), retrieved 24 October 2026.

The original project is distributed under GNU GPL version 2. The complete license is preserved in [LICENSE](LICENSE). [UnknownPleasuresGenerator.py](UnknownPleasuresGenerator.py) is an unmodified copy of the original Python source. Its source URL is https://raw.githubusercontent.com/dvida/UnknownPleasuresGenerator/5640e457fce7e8baae864dc2106168ba4fdbdeac/UnknownPleasuresGenerator.py.

## Browser port

CP1919 contributors adapted the construction to JavaScript on 24 October 2026. The browser adaptation and its interface are distributed under GPL-2.0-only:

- [Mathematical generator and SVG renderer](/assets/generator.js)
- [Browser controls and local download implementation](/assets/generator-ui.js)
- [Page markup source](generator-page.mjs)
- [Interface stylesheet](/assets/generator.css)

The core retains the original stacked-curve construction: 80 curves by default, vertical spacing of 3 units, 220 samples per curve, 55-sample flattened wings, a parabolic base, sinusoidal and Gaussian perturbations, and a variable number of superimposed parabolic/exponential peaks. The original Python maximum-peak parameter is 9; its random upper bound is exclusive.

Changes include a seeded pseudorandom generator, configurable line count/peak height/roughness, parameter bounds, square SVG composition, editable seed, invert control, state in the URL, and local SVG/PNG exports. The browser output is a new generative composition. It is not the CP1919 pulsar observation data or a reconstruction of the 1979 album cover.

The source files are served directly without compilation or minification. SVG output is self-contained. PNG export draws that SVG into a local browser canvas; images and seed values are not uploaded. The default SVG viewport is 1000 × 1000; PNG export is 2000 × 2000.

The license notice applies to this generator adaptation and interface. It does not make any claim about rights in album artwork, names, logos, other archive records, or the artwork a user generates. See GPL section 0 for the license's treatment of program output.
