diff --git a/examples/README.md b/examples/README.md
index cb9322ec7b..2a1aea210e 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -1,7 +1,7 @@
# @thi.ng/umbrella examples
-This directory contains a growing number (currently 135) of standalone
+This directory contains a growing number (currently 136) of standalone
example projects, including live online versions, build instructions
and commented source code.
@@ -83,65 +83,66 @@ in touch via PR, issue tracker, email or twitter!
| 071 | | [pointfree-svg](./pointfree-svg/) | Generate SVG using pointfree DSL |
| 072 | | [poisson-circles](./poisson-circles/) | 2D Poisson-disc sampler with procedural gradient map |
| 073 | | [poly-spline](./poly-spline/) | Polygon to cubic curve conversion & visualization |
-| 074 | | [porter-duff](./porter-duff/) | Port-Duff image compositing / alpha blending |
-| 075 | | [ramp-synth](./ramp-synth/) | Unison wavetable synth with waveform editor |
-| 076 | | [rasterize-blend](./rasterize-blend/) | Steering behavior drawing with alpha-blended shapes |
-| 077 | | [rdom-basics](./rdom-basics/) | Demonstates various rdom usage patterns |
-| 078 | | [rdom-canvas-basics](./rdom-canvas-basics/) | Minimal rdom-canvas animation |
-| 079 | | [rdom-delayed-update](./rdom-delayed-update/) | Dynamically loaded images w/ preloader state |
-| 080 | | [rdom-dnd](./rdom-dnd/) | rdom drag & drop example |
-| 081 | | [rdom-key-sequences](./rdom-key-sequences/) | rstream & transducer-based FSM for converting key event sequences into high-level commands |
-| 082 | | [rdom-lissajous](./rdom-lissajous/) | rdom & hiccup-canvas interop test |
-| 083 | | [rdom-search-docs](./rdom-search-docs/) | Full umbrella repo doc string search w/ paginated results |
-| 084 | | [rdom-svg-nodes](./rdom-svg-nodes/) | rdom powered SVG graph with draggable nodes |
-| 085 | | [render-audio](./render-audio/) | Generative audio synth offline renderer and WAV file export |
-| 086 | | [rotating-voronoi](./rotating-voronoi/) | Animated Voronoi diagram, cubic splines & SVG download |
-| 087 | | [router-basics](./router-basics/) | Complete mini SPA app w/ router & async content loading |
-| 088 | | [rstream-dataflow](./rstream-dataflow/) | Minimal rstream dataflow graph |
-| 089 | | [rstream-event-loop](./rstream-event-loop/) | Minimal demo of using rstream constructs to form an interceptor-style event loop |
-| 090 | | [rstream-grid](./rstream-grid/) | Interactive grid generator, SVG generation & export, undo/redo support |
-| 091 | | [rstream-hdom](./rstream-hdom/) | rstream based UI updates & state handling |
-| 092 | | [rstream-spreadsheet](./rstream-spreadsheet/) | rstream based spreadsheet w/ S-expression formula DSL |
-| 093 | | [rstream-sync](./rstream-sync/) | Minimal rstream sync() example using rdom |
-| 094 | | [scenegraph](./scenegraph/) | 2D scenegraph & shape picking |
-| 095 | | [scenegraph-image](./scenegraph-image/) | 2D scenegraph & image map based geometry manipulation |
-| 096 | | [shader-ast-canvas2d](./shader-ast-canvas2d/) | 2D canvas shader emulation |
-| 097 | | [shader-ast-evo](./shader-ast-evo/) | Evolutionary shader generation using genetic programming |
-| 098 | | [shader-ast-noise](./shader-ast-noise/) | HOF shader procedural noise function composition |
-| 099 | | [shader-ast-raymarch](./shader-ast-raymarch/) | WebGL & JS canvas2D raymarch shader cross-compilation |
-| 100 | | [shader-ast-sdf2d](./shader-ast-sdf2d/) | WebGL & JS canvas 2D SDF |
-| 101 | | [shader-ast-tunnel](./shader-ast-tunnel/) | WebGL & Canvas2D textured tunnel shader |
-| 102 | | [shader-ast-workers](./shader-ast-workers/) | Fork-join worker-based raymarch renderer (JS/CPU only) |
-| 103 | | [shader-graph](./shader-graph/) | Minimal shader graph developed during livestream #2 |
-| 104 | | [soa-ecs](./soa-ecs/) | Entity Component System w/ 100k 3D particles |
-| 105 | | [spline-tangent](./spline-tangent/) | Compute cubic spline position & tangent using Dual Numbers |
-| 106 | | [stacked-layout](./stacked-layout/) | Responsive & reactively computed stacked column layout |
-| 107 | | [stratified-grid](./stratified-grid/) | 2D Stratified grid sampling example |
-| 108 | | [svg-barchart](./svg-barchart/) | Simplistic SVG bar chart component |
-| 109 | | [svg-particles](./svg-particles/) | Basic 2D particle system w/ SVG shapes |
-| 110 | | [svg-resample](./svg-resample/) | SVG path parsing & dynamic resampling |
-| 111 | | [svg-waveform](./svg-waveform/) | Additive waveform synthesis & SVG visualization with undo/redo |
-| 112 | | [talk-slides](./talk-slides/) | hdom based slide deck viewer & slides from my ClojureX 2018 keynote |
-| 113 | | [text-canvas](./text-canvas/) | 3D wireframe textmode demo |
-| 114 | | [text-canvas-image](./text-canvas-image/) | Textmode image warping w/ 16bit color output |
-| 115 | | [todo-list](./todo-list/) | Obligatory to-do list example with undo/redo |
-| 116 | | [trace-bitmap](./trace-bitmap/) | Multi-layer vectorization & dithering of bitmap images |
-| 117 | | [transducers-hdom](./transducers-hdom/) | Transducer & rstream based hdom UI updates |
-| 118 | | [triple-query](./triple-query/) | Triple store query results & sortable table |
-| 119 | | [unbiased-normals](./unbiased-normals/) | Visual comparison of biased vs. unbiased normal vectors projected on the surface of a sphere |
-| 120 | | [webgl-channel-mixer](./webgl-channel-mixer/) | rdom & WebGL-based image channel editor |
-| 121 | | [webgl-cube](./webgl-cube/) | WebGL multi-colored cube mesh |
-| 122 | | [webgl-cubemap](./webgl-cubemap/) | WebGL cube maps with async texture loading |
-| 123 | | [webgl-float-fbo](./webgl-float-fbo/) | Drawing to floating point offscreen / multi-pass shader pipeline |
-| 124 | | [webgl-game-of-life](./webgl-game-of-life/) | Game of Life implemented as WebGL2 multi-pass shader pipeline |
-| 125 | | [webgl-grid](./webgl-grid/) | WebGL instancing, animated grid |
-| 126 | | [webgl-msdf](./webgl-msdf/) | WebGL MSDF text rendering & particle system |
-| 127 | | [webgl-multipass](./webgl-multipass/) | Minimal multi-pass / GPGPU example |
-| 128 | | [webgl-shadertoy](./webgl-shadertoy/) | Shadertoy-like WebGL setup |
-| 129 | | [webgl-ssao](./webgl-ssao/) | WebGL screenspace ambient occlusion |
-| 130 | | [wolfram](./wolfram/) | 1D Wolfram automata with OBJ point cloud export |
-| 131 | | [xml-converter](./xml-converter/) | XML/HTML/SVG to hiccup/JS conversion |
-| 132 | | [zig-canvas](./zig-canvas/) | Zig-based DOM creation & canvas drawing app |
-| 133 | | [zig-cellular](./zig-cellular/) | Zig-based 2D multi-behavior cellular automata |
-| 134 | | [zig-counter](./zig-counter/) | Simple Zig/WASM click counter DOM component |
-| 135 | | [zig-todo-list](./zig-todo-list/) | Zig-based To-Do list, DOM creation, local storage task persistence |
+| 074 | | [poly-subdiv](./poly-subdiv/) | Animated, iterative polygon subdivisions & visualization |
+| 075 | | [porter-duff](./porter-duff/) | Port-Duff image compositing / alpha blending |
+| 076 | | [ramp-synth](./ramp-synth/) | Unison wavetable synth with waveform editor |
+| 077 | | [rasterize-blend](./rasterize-blend/) | Steering behavior drawing with alpha-blended shapes |
+| 078 | | [rdom-basics](./rdom-basics/) | Demonstates various rdom usage patterns |
+| 079 | | [rdom-canvas-basics](./rdom-canvas-basics/) | Minimal rdom-canvas animation |
+| 080 | | [rdom-delayed-update](./rdom-delayed-update/) | Dynamically loaded images w/ preloader state |
+| 081 | | [rdom-dnd](./rdom-dnd/) | rdom drag & drop example |
+| 082 | | [rdom-key-sequences](./rdom-key-sequences/) | rstream & transducer-based FSM for converting key event sequences into high-level commands |
+| 083 | | [rdom-lissajous](./rdom-lissajous/) | rdom & hiccup-canvas interop test |
+| 084 | | [rdom-search-docs](./rdom-search-docs/) | Full umbrella repo doc string search w/ paginated results |
+| 085 | | [rdom-svg-nodes](./rdom-svg-nodes/) | rdom powered SVG graph with draggable nodes |
+| 086 | | [render-audio](./render-audio/) | Generative audio synth offline renderer and WAV file export |
+| 087 | | [rotating-voronoi](./rotating-voronoi/) | Animated Voronoi diagram, cubic splines & SVG download |
+| 088 | | [router-basics](./router-basics/) | Complete mini SPA app w/ router & async content loading |
+| 089 | | [rstream-dataflow](./rstream-dataflow/) | Minimal rstream dataflow graph |
+| 090 | | [rstream-event-loop](./rstream-event-loop/) | Minimal demo of using rstream constructs to form an interceptor-style event loop |
+| 091 | | [rstream-grid](./rstream-grid/) | Interactive grid generator, SVG generation & export, undo/redo support |
+| 092 | | [rstream-hdom](./rstream-hdom/) | rstream based UI updates & state handling |
+| 093 | | [rstream-spreadsheet](./rstream-spreadsheet/) | rstream based spreadsheet w/ S-expression formula DSL |
+| 094 | | [rstream-sync](./rstream-sync/) | Minimal rstream sync() example using rdom |
+| 095 | | [scenegraph](./scenegraph/) | 2D scenegraph & shape picking |
+| 096 | | [scenegraph-image](./scenegraph-image/) | 2D scenegraph & image map based geometry manipulation |
+| 097 | | [shader-ast-canvas2d](./shader-ast-canvas2d/) | 2D canvas shader emulation |
+| 098 | | [shader-ast-evo](./shader-ast-evo/) | Evolutionary shader generation using genetic programming |
+| 099 | | [shader-ast-noise](./shader-ast-noise/) | HOF shader procedural noise function composition |
+| 100 | | [shader-ast-raymarch](./shader-ast-raymarch/) | WebGL & JS canvas2D raymarch shader cross-compilation |
+| 101 | | [shader-ast-sdf2d](./shader-ast-sdf2d/) | WebGL & JS canvas 2D SDF |
+| 102 | | [shader-ast-tunnel](./shader-ast-tunnel/) | WebGL & Canvas2D textured tunnel shader |
+| 103 | | [shader-ast-workers](./shader-ast-workers/) | Fork-join worker-based raymarch renderer (JS/CPU only) |
+| 104 | | [shader-graph](./shader-graph/) | Minimal shader graph developed during livestream #2 |
+| 105 | | [soa-ecs](./soa-ecs/) | Entity Component System w/ 100k 3D particles |
+| 106 | | [spline-tangent](./spline-tangent/) | Compute cubic spline position & tangent using Dual Numbers |
+| 107 | | [stacked-layout](./stacked-layout/) | Responsive & reactively computed stacked column layout |
+| 108 | | [stratified-grid](./stratified-grid/) | 2D Stratified grid sampling example |
+| 109 | | [svg-barchart](./svg-barchart/) | Simplistic SVG bar chart component |
+| 110 | | [svg-particles](./svg-particles/) | Basic 2D particle system w/ SVG shapes |
+| 111 | | [svg-resample](./svg-resample/) | SVG path parsing & dynamic resampling |
+| 112 | | [svg-waveform](./svg-waveform/) | Additive waveform synthesis & SVG visualization with undo/redo |
+| 113 | | [talk-slides](./talk-slides/) | hdom based slide deck viewer & slides from my ClojureX 2018 keynote |
+| 114 | | [text-canvas](./text-canvas/) | 3D wireframe textmode demo |
+| 115 | | [text-canvas-image](./text-canvas-image/) | Textmode image warping w/ 16bit color output |
+| 116 | | [todo-list](./todo-list/) | Obligatory to-do list example with undo/redo |
+| 117 | | [trace-bitmap](./trace-bitmap/) | Multi-layer vectorization & dithering of bitmap images |
+| 118 | | [transducers-hdom](./transducers-hdom/) | Transducer & rstream based hdom UI updates |
+| 119 | | [triple-query](./triple-query/) | Triple store query results & sortable table |
+| 120 | | [unbiased-normals](./unbiased-normals/) | Visual comparison of biased vs. unbiased normal vectors projected on the surface of a sphere |
+| 121 | | [webgl-channel-mixer](./webgl-channel-mixer/) | rdom & WebGL-based image channel editor |
+| 122 | | [webgl-cube](./webgl-cube/) | WebGL multi-colored cube mesh |
+| 123 | | [webgl-cubemap](./webgl-cubemap/) | WebGL cube maps with async texture loading |
+| 124 | | [webgl-float-fbo](./webgl-float-fbo/) | Drawing to floating point offscreen / multi-pass shader pipeline |
+| 125 | | [webgl-game-of-life](./webgl-game-of-life/) | Game of Life implemented as WebGL2 multi-pass shader pipeline |
+| 126 | | [webgl-grid](./webgl-grid/) | WebGL instancing, animated grid |
+| 127 | | [webgl-msdf](./webgl-msdf/) | WebGL MSDF text rendering & particle system |
+| 128 | | [webgl-multipass](./webgl-multipass/) | Minimal multi-pass / GPGPU example |
+| 129 | | [webgl-shadertoy](./webgl-shadertoy/) | Shadertoy-like WebGL setup |
+| 130 | | [webgl-ssao](./webgl-ssao/) | WebGL screenspace ambient occlusion |
+| 131 | | [wolfram](./wolfram/) | 1D Wolfram automata with OBJ point cloud export |
+| 132 | | [xml-converter](./xml-converter/) | XML/HTML/SVG to hiccup/JS conversion |
+| 133 | | [zig-canvas](./zig-canvas/) | Zig-based DOM creation & canvas drawing app |
+| 134 | | [zig-cellular](./zig-cellular/) | Zig-based 2D multi-behavior cellular automata |
+| 135 | | [zig-counter](./zig-counter/) | Simple Zig/WASM click counter DOM component |
+| 136 | | [zig-todo-list](./zig-todo-list/) | Zig-based To-Do list, DOM creation, local storage task persistence |
diff --git a/packages/arrays/README.md b/packages/arrays/README.md
index 18062d8d5b..3951841802 100644
--- a/packages/arrays/README.md
+++ b/packages/arrays/README.md
@@ -69,11 +69,12 @@ directory are using this package.
A selection:
-| Screenshot | Description | Live demo | Source |
-|:-----------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------|:------------------------------------------------------|:-----------------------------------------------------------------------------------|
-| | k-means clustering visualization | [Demo](https://demo.thi.ng/umbrella/kmeans-viz/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/kmeans-viz) |
-| | Randomized 4-point 2D color gradient image generator | [Demo](https://demo.thi.ng/umbrella/pixel-gradients/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-gradients) |
-| | Responsive & reactively computed stacked column layout | [Demo](https://demo.thi.ng/umbrella/stacked-layout/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/stacked-layout) |
+| Screenshot | Description | Live demo | Source |
+|:-----------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------|:------------------------------------------------------|:-----------------------------------------------------------------------------------|
+| | k-means clustering visualization | [Demo](https://demo.thi.ng/umbrella/kmeans-viz/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/kmeans-viz) |
+| | Randomized 4-point 2D color gradient image generator | [Demo](https://demo.thi.ng/umbrella/pixel-gradients/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-gradients) |
+| | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-subdiv) |
+| | Responsive & reactively computed stacked column layout | [Demo](https://demo.thi.ng/umbrella/stacked-layout/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/stacked-layout) |
## API
diff --git a/packages/color/README.md b/packages/color/README.md
index bfe62a4a31..face92ac75 100644
--- a/packages/color/README.md
+++ b/packages/color/README.md
@@ -640,6 +640,7 @@ A selection:
| | Randomized 4-point 2D color gradient image generator | [Demo](https://demo.thi.ng/umbrella/pixel-gradients/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-gradients) |
| | Image dithering and remapping using indexed palettes | [Demo](https://demo.thi.ng/umbrella/pixel-indexed/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-indexed) |
| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) |
+| | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-subdiv) |
| | Fork-join worker-based raymarch renderer (JS/CPU only) | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) |
| | Responsive & reactively computed stacked column layout | [Demo](https://demo.thi.ng/umbrella/stacked-layout/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/stacked-layout) |
| | Multi-layer vectorization & dithering of bitmap images | [Demo](https://demo.thi.ng/umbrella/trace-bitmap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/trace-bitmap) |
diff --git a/packages/compose/README.md b/packages/compose/README.md
index b2dae18ae6..2114229ec1 100644
--- a/packages/compose/README.md
+++ b/packages/compose/README.md
@@ -64,9 +64,10 @@ directory are using this package.
A selection:
-| Screenshot | Description | Live demo | Source |
-|:--------------------------------------------------------------------------------------------------------------------------|:------------------------------|:---------------------------------------------------------|:--------------------------------------------------------------------------------------|
-| | Minimal rdom-canvas animation | [Demo](https://demo.thi.ng/umbrella/rdom-canvas-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-canvas-basics) |
+| Screenshot | Description | Live demo | Source |
+|:--------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------|:---------------------------------------------------------|:--------------------------------------------------------------------------------------|
+| | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-subdiv) |
+| | Minimal rdom-canvas animation | [Demo](https://demo.thi.ng/umbrella/rdom-canvas-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-canvas-basics) |
## API
diff --git a/packages/fibers/README.md b/packages/fibers/README.md
index 05e5dc81eb..e4097de671 100644
--- a/packages/fibers/README.md
+++ b/packages/fibers/README.md
@@ -405,6 +405,7 @@ A selection:
| | Fiber-based cooperative multitasking basics | [Demo](https://demo.thi.ng/umbrella/fiber-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fiber-basics) |
| | Barnsley fern IFS fractal renderer | [Demo](https://demo.thi.ng/umbrella/ifs-fractal/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ifs-fractal) |
| | Mastodon API feed reader with support for different media types, fullscreen media modal, HTML rewriting | [Demo](https://demo.thi.ng/umbrella/mastodon-feed/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mastodon-feed) |
+| | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-subdiv) |
| | Generative audio synth offline renderer and WAV file export | [Demo](https://demo.thi.ng/umbrella/render-audio/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/render-audio) |
## API
diff --git a/packages/geom-resample/README.md b/packages/geom-resample/README.md
index 30ce2a7687..23bb10bd1b 100644
--- a/packages/geom-resample/README.md
+++ b/packages/geom-resample/README.md
@@ -56,7 +56,7 @@ For Node.js REPL:
const geomResample = await import("@thi.ng/geom-resample");
```
-Package sizes (brotli'd, pre-treeshake): ESM: 1.31 KB
+Package sizes (brotli'd, pre-treeshake): ESM: 1.39 KB
## Dependencies
@@ -75,9 +75,10 @@ directory are using this package.
A selection:
-| Screenshot | Description | Live demo | Source |
-|:------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------|:-------------------------------------------------------|:------------------------------------------------------------------------------------|
-| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) |
+| Screenshot | Description | Live demo | Source |
+|:------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------|:-------------------------------------------------------|:------------------------------------------------------------------------------------|
+| | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-subdiv) |
+| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) |
## API
diff --git a/packages/geom/README.md b/packages/geom/README.md
index 03a782c51e..00a788e709 100644
--- a/packages/geom/README.md
+++ b/packages/geom/README.md
@@ -257,6 +257,7 @@ A selection:
| | k-means clustering visualization | [Demo](https://demo.thi.ng/umbrella/kmeans-viz/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/kmeans-viz) |
| | 2D Poisson-disc sampler with procedural gradient map | [Demo](https://demo.thi.ng/umbrella/poisson-circles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poisson-circles) |
| | Polygon to cubic curve conversion & visualization | [Demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) |
+| | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-subdiv) |
| | Minimal rdom-canvas animation | [Demo](https://demo.thi.ng/umbrella/rdom-canvas-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-canvas-basics) |
| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) |
| | 2D scenegraph & shape picking | [Demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) |
diff --git a/packages/hiccup-canvas/README.md b/packages/hiccup-canvas/README.md
index bb6d52282c..c1f300ae0d 100644
--- a/packages/hiccup-canvas/README.md
+++ b/packages/hiccup-canvas/README.md
@@ -125,6 +125,7 @@ A selection:
| | 2D Bezier curve-guided particle system | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-particles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-particles) |
| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) |
| | Animated arcs & drawing using hiccup-canvas | [Demo](https://demo.thi.ng/umbrella/hiccup-canvas-arcs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hiccup-canvas-arcs) |
+| | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-subdiv) |
## API
diff --git a/packages/math/README.md b/packages/math/README.md
index a970fb6474..bdfa3ab9e8 100644
--- a/packages/math/README.md
+++ b/packages/math/README.md
@@ -87,6 +87,7 @@ A selection:
| | 2D Bezier curve-guided particle system | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-particles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-particles) |
| | Animated sine plasma effect visualized using contour lines | [Demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) |
| | Worker based, interactive Mandelbrot visualization | [Demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) |
+| | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-subdiv) |
| | Unison wavetable synth with waveform editor | [Demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) |
| | 2D scenegraph & shape picking | [Demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) |
| | 2D scenegraph & image map based geometry manipulation | [Demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) |
diff --git a/packages/random/README.md b/packages/random/README.md
index 8284a83b3c..17b2de57e8 100644
--- a/packages/random/README.md
+++ b/packages/random/README.md
@@ -121,6 +121,7 @@ A selection:
| | k-means clustering visualization | [Demo](https://demo.thi.ng/umbrella/kmeans-viz/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/kmeans-viz) |
| | Randomized 4-point 2D color gradient image generator | [Demo](https://demo.thi.ng/umbrella/pixel-gradients/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-gradients) |
| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) |
+| | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-subdiv) |
| | Generative audio synth offline renderer and WAV file export | [Demo](https://demo.thi.ng/umbrella/render-audio/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/render-audio) |
| | Evolutionary shader generation using genetic programming | [Demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) |
| | Responsive & reactively computed stacked column layout | [Demo](https://demo.thi.ng/umbrella/stacked-layout/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/stacked-layout) |
diff --git a/packages/rdom/README.md b/packages/rdom/README.md
index 16c89bf7da..358def63a0 100644
--- a/packages/rdom/README.md
+++ b/packages/rdom/README.md
@@ -312,6 +312,7 @@ A selection:
| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) |
| | Randomized 4-point 2D color gradient image generator | [Demo](https://demo.thi.ng/umbrella/pixel-gradients/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-gradients) |
| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) |
+| | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-subdiv) |
| | Demonstates various rdom usage patterns | [Demo](https://demo.thi.ng/umbrella/rdom-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-basics) |
| | Dynamically loaded images w/ preloader state | [Demo](https://demo.thi.ng/umbrella/rdom-delayed-update/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-delayed-update) |
| | rdom drag & drop example | [Demo](https://demo.thi.ng/umbrella/rdom-dnd/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-dnd) |
diff --git a/packages/transducers/README.md b/packages/transducers/README.md
index f982dd5707..01e2cc6832 100644
--- a/packages/transducers/README.md
+++ b/packages/transducers/README.md
@@ -227,6 +227,7 @@ A selection:
| | CLI util to visualize umbrella pkg stats | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) |
| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) |
| | Polygon to cubic curve conversion & visualization | [Demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) |
+| | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-subdiv) |
| | Unison wavetable synth with waveform editor | [Demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) |
| | Demonstates various rdom usage patterns | [Demo](https://demo.thi.ng/umbrella/rdom-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-basics) |
| | Minimal rdom-canvas animation | [Demo](https://demo.thi.ng/umbrella/rdom-canvas-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-canvas-basics) |
diff --git a/packages/vectors/README.md b/packages/vectors/README.md
index cdce2478c9..7e33e2eed8 100644
--- a/packages/vectors/README.md
+++ b/packages/vectors/README.md
@@ -215,6 +215,7 @@ A selection:
| | Animated sine plasma effect visualized using contour lines | [Demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) |
| | k-means clustering visualization | [Demo](https://demo.thi.ng/umbrella/kmeans-viz/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/kmeans-viz) |
| | CLI util to visualize umbrella pkg stats | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) |
+| | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-subdiv) |
| | Unison wavetable synth with waveform editor | [Demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) |
| | Steering behavior drawing with alpha-blended shapes | [Demo](https://demo.thi.ng/umbrella/rasterize-blend/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rasterize-blend) |
| | Minimal rdom-canvas animation | [Demo](https://demo.thi.ng/umbrella/rdom-canvas-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-canvas-basics) |