shadertown 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,60 @@ deploys, not by this file.
6
6
  This project follows [semantic versioning](https://semver.org). Before 1.0 the
7
7
  minor number carries breaking changes, so pin it if that matters to you.
8
8
 
9
+ ## 0.7.0 — 2026-09-01
10
+
11
+ Fifteen shaders that draw places instead of patterns, in two new families.
12
+ The `pixel` family is real pixel art — every cell a whole number of device
13
+ pixels, every colour one of a handful of stops, every move a whole cell on a
14
+ sprite-sheet clock. The `scene` family paints islands, water and skies at
15
+ hero quality: a marched ocean, rolling grassland, an atoll from above.
16
+
17
+ ### Added
18
+
19
+ - **Five `pixel` shaders.** `pixel-sea` is a 16-bit seascape with a dithered
20
+ sky and the sun's reflection breaking into dashes; `pixel-isle` generates
21
+ one to three islands per seed, one hard biome per cell; `pixel-clouds`
22
+ marches terraced clouds past a hard sun; `pixel-fire` reproduces the Doom
23
+ fire's statistics without its feedback buffer; `pixel-rain` rains on a
24
+ sleeping skyline, one lit window at a time. All five share
25
+ `st_pixelSize()`, a new prelude helper that keeps every virtual cell a
26
+ whole number of device pixels.
27
+ - **Ten `scene` shaders.** Islands: `lagoon` (an atoll from above),
28
+ `archipelago` (a nautical chart on a slow drift), `island` (sea to the
29
+ horizon, land in the haze), `shore` (the swash zone from above), and
30
+ `caldera` (a volcano at night, lit by its own veins). Heroes: `meadow`
31
+ (a silhouette flower field at golden hour), `blossom` (one flower, drawn
32
+ large, with a true phyllotaxis seed head), `hills` (grassland marched as a
33
+ heightfield), `swell` (open ocean marched so waves hide waves), and
34
+ `cumulus` (fair-weather cloud shaded by one extra sample).
35
+ - **Colour presets.** A shader may declare `presets` — curated colour trios
36
+ with names. All fifteen new shaders ship four each. On the site, Randomise
37
+ picks between a shader's presets instead of rolling hues, and the picker
38
+ offers them as one-click starting points; every well stays individually
39
+ editable, and the share URL still carries plain colours.
40
+
41
+ ### Changed
42
+
43
+ - **A canvas compiles when it is nearly in view.** `ShaderCanvas` used to
44
+ build its renderer the moment it mounted, so a page of cards paid for every
45
+ pipeline on load whether or not the reader ever scrolled that far. It now
46
+ waits until the canvas is within a screen of the viewport, and holds the
47
+ renderer once built — scrolling back over a card redraws it rather than
48
+ recompiling. `play` is unchanged and still decides when a built renderer
49
+ animates. A browser with no `IntersectionObserver` starts every canvas at
50
+ once, as before.
51
+
52
+ ### Fixed
53
+
54
+ - **Lazy canvases start in the right play state.** A canvas with
55
+ `play="always"` no longer draws one frozen frame when it first comes near the
56
+ viewport. Hover, visible, and reduced-motion modes keep their existing
57
+ behaviour.
58
+ - **One request per source image, however many canvases read it.** A grid
59
+ whose shaders share a photograph fetched that photograph once per canvas,
60
+ all in flight together and none of them able to use the others' response.
61
+ The fetch is now shared per URL; each canvas still decodes its own bitmap.
62
+
9
63
  ## 0.6.0 — 2026-08-30
10
64
 
11
65
  The CLI learns to talk to coding agents. `npx shadertown mcp` serves the
package/README.md CHANGED
@@ -40,8 +40,8 @@ npx add-mcp "npx -y shadertown@latest mcp" -n shadertown
40
40
 
41
41
  ## Licensing
42
42
 
43
- This package is MIT, and it draws all 45 shaders. What a licence buys is the
44
- readable source: 13 shaders hand theirs to anyone, the other 32 need
43
+ This package is MIT, and it draws all 60 shaders. What a licence buys is the
44
+ readable source: 15 shaders hand theirs to anyone, the other 45 need
45
45
  [Professional](https://www.shadertown.com/pricing). Source you have already
46
46
  vendored keeps working either way.
47
47