# marching.js (playground)

- Author: Charlie Roberts (initial work by Chi Shen; see ./CREDITS.markdown for the shader code it adapts)
- Source: https://github.com/charlieroberts/marching (live: https://charlieroberts.github.io/marching/playground/)
- Commit: 6e09f02b4ab50848c59801a777e3b79fc1ecc989 (main — the live site is served from main: its
  dist/index.js, playground.bundle.js and environment.js are byte-identical to this commit; the gh-pages branch
  is an older 2020 snapshot). The project's own committed builds are used.
- Licence: MIT (./LICENSE). CREDITS.markdown lists adapted shader code (stack.gl modules, hg_sdf, Inigo Quilez,
  Dave Hoskins, etc.) as credited by the author.
- Bundled libraries (the playground loads these at run time from CDNs; here they are local copies of the exact
  same files, verified byte-identical to the CDN versions):
  - playground/vendor/gif.js/: gif.js 0.2.0 by Johan Nordberg (gif.js, gif.worker.js), MIT (LICENSE)
    — npm package, trailing source-map comment removed
  - playground/vendor/p5/: p5.js 1.1.9 (p5.min.js), LGPL-2.1 (license.txt) — npm package, unmodified
  - playground/vendor/hydra-synth/: hydra-synth 1.3.0 by Olivia Jack (dist/hydra-synth.js), AGPL-3.0 (LICENSE),
    unmodified; source: https://github.com/hydra-synth/hydra-synth
  - Tweakpane and CodeMirror are already compiled into playground.bundle.js by the author (MIT).
- Vendored files: dist/index.js, playground/{index.htm (original, kept for reference), playground.bundle.js,
  codemirror.css, fullscreen.css, main.css, github.png}, LICENSE, CREDITS.markdown. Not vendored: docs/, demo.html, js/ sources.
- Added by Web Curio: playground/stage.html, playground/playground.bundle.stage.js, playground/vendor/*, this file
- Modifications to the original:
  1. dist/index.js: the trailing inline source map (`//# sourceMappingURL=data:...`, 1.4 MB) was removed.
  2. playground.bundle.stage.js is playground.bundle.js with four URLs replaced by local paths:
     cdnjs gif.js 0.2.0 → ./vendor/gif.js/gif.js; jsdelivr gif.worker.js → ./vendor/gif.js/gif.worker.js;
     cdnjs p5.js 1.1.9 → ./vendor/p5/p5.min.js; jsdelivr hydra-synth 1.3.0 → ./vendor/hydra-synth/hydra-synth.js.
  3. stage.html is index.htm loading playground.bundle.stage.js instead of playground.bundle.js, plus the museum's
     CSP meta and sandbox shim.
- Features that stay blocked in the museum (documented, not removed): `use('dwitter')` texture snippets fetched
  from www.dwitter.net, `use('<any http URL>')` (the p5 demo's p5.Polar line), the "help" link to docs/,
  and the GIF export's final download (the sandboxed frame blocks downloads). Shareable links put code in
  the URL query, which only works inside the frame.
