shadertown 0.3.0 → 0.4.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,47 @@ 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.4.0 — 2026-08-30
10
+
11
+ Ten shaders built around input: six that answer the pointer, four made for
12
+ text, and a `{ text }` source so the text ones have something to answer.
13
+
14
+ ### Added
15
+
16
+ - **Pointer shaders.** `eyes` (a wall of eyes that follow the cursor and blink
17
+ on their own clocks), `tesla` (a plasma globe whose filament seeks the
18
+ pointer, clamped to the glass), `magnet` (field lines of three charges, one
19
+ riding the pointer — closed forms, nothing traced), `torch` (a guttering
20
+ light in your hand over a rock heightfield, lit off its own derivative),
21
+ `parallax` (five ridgelines the pointer pans, each by its own depth), and
22
+ `gravity` (a starfield lensed by a mass at the cursor, Einstein ring
23
+ included). All six carry themselves with the pointer at rest, so a card is
24
+ never a dead frame.
25
+ - **Text shaders.** `neon-sign` (the layer's luma boundary bent into tube and
26
+ lit), `ascii` (the layer redrawn from a ten-glyph density ramp — the font is
27
+ packed into ten integers, so a vendored copy needs no assets), `shatter`
28
+ (voronoi shards whose contents fly from the pointer; the progress slider is
29
+ a scrubber at speed 0, same contract as reveal), and `melt` (the layer runs
30
+ downhill, and the pointer is the heat). Forty-two shaders in total.
31
+ - **`{ text }` sources.** `source={{ text: "OPEN" }}` renders a line of text
32
+ to an offscreen canvas — newlines break lines, `font` is one CSS shorthand,
33
+ half an em of margin left all round — and reads it like any image. Type:
34
+ `ShaderSourceText`.
35
+
36
+ ### Changed
37
+
38
+ - **The free tier now covers every family.** Twelve of the forty-two shaders
39
+ hand over their source to anyone — one from each of the ten families, plus
40
+ `radiance` and `eyes`, kept as second representatives of traced light and
41
+ pointer interaction. New to the list: `mesh-gradient`, `julia`,
42
+ `film-grain`, `lens`, `shockwave`, `eyes` and `ascii`.
43
+
44
+ ### Compatibility
45
+
46
+ The `Params` block at `@group(0) @binding(0)` is unchanged, byte for byte, and
47
+ the source bindings are the same three that 0.2.0 added. `ShaderSourceInput`
48
+ widens to accept `{ text }`; every value it accepted before is still accepted.
49
+
9
50
  ## 0.3.0 — 2026-08-29
10
51
 
11
52
  Four shaders that light a scene instead of colouring one, taken from four
package/README.md CHANGED
@@ -29,7 +29,7 @@ npx shadertown add aurora
29
29
 
30
30
  ## Licensing
31
31
 
32
- This package is MIT, and it draws all 32 shaders. What a licence buys is the
32
+ This package is MIT, and it draws all 42 shaders. What a licence buys is the
33
33
  readable source: 3 shaders hand theirs to anyone, the other 15 need
34
34
  [Professional](https://www.shadertown.com/pricing). Source you have already
35
35
  vendored keeps working either way.