diff --git a/examples/adaptive-threshold/package.json b/examples/adaptive-threshold/package.json
index 6886754b09..b6375d9c7c 100644
--- a/examples/adaptive-threshold/package.json
+++ b/examples/adaptive-threshold/package.json
@@ -55,6 +55,6 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	}
 }
diff --git a/examples/ascii-raymarch/package.json b/examples/ascii-raymarch/package.json
index 68f9f199be..b82442b113 100644
--- a/examples/ascii-raymarch/package.json
+++ b/examples/ascii-raymarch/package.json
@@ -55,6 +55,6 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	}
 }
diff --git a/examples/async-effect/package.json b/examples/async-effect/package.json
index 371b19b9cb..506543985c 100644
--- a/examples/async-effect/package.json
+++ b/examples/async-effect/package.json
@@ -40,6 +40,6 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	}
 }
diff --git a/examples/big-font/package.json b/examples/big-font/package.json
index 155ffdcb71..e1331c2f51 100644
--- a/examples/big-font/package.json
+++ b/examples/big-font/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/bitmap-font/package.json b/examples/bitmap-font/package.json
index 3a18f9c41b..f5cc7d5849 100644
--- a/examples/bitmap-font/package.json
+++ b/examples/bitmap-font/package.json
@@ -55,6 +55,6 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	}
 }
diff --git a/examples/blurhash/package.json b/examples/blurhash/package.json
index 87970f876e..380d086cb9 100644
--- a/examples/blurhash/package.json
+++ b/examples/blurhash/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/blurhash": "workspace:^",
diff --git a/examples/boid-basics/package.json b/examples/boid-basics/package.json
index a5385f17e8..97b7a2776d 100644
--- a/examples/boid-basics/package.json
+++ b/examples/boid-basics/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/canvas-dial/package.json b/examples/canvas-dial/package.json
index 0362d17207..7eda790199 100644
--- a/examples/canvas-dial/package.json
+++ b/examples/canvas-dial/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/canvas-recorder/package.json b/examples/canvas-recorder/package.json
index 3779a270ff..d0db48a966 100644
--- a/examples/canvas-recorder/package.json
+++ b/examples/canvas-recorder/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/cellular-automata/package.json b/examples/cellular-automata/package.json
index 461d05b5ab..404790faed 100644
--- a/examples/cellular-automata/package.json
+++ b/examples/cellular-automata/package.json
@@ -33,7 +33,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/color-contrast/package.json b/examples/color-contrast/package.json
index d3b7433b8a..32c80ed710 100644
--- a/examples/color-contrast/package.json
+++ b/examples/color-contrast/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/color": "workspace:^",
diff --git a/examples/color-themes/package.json b/examples/color-themes/package.json
index 8d6064d2b9..7962132e4b 100644
--- a/examples/color-themes/package.json
+++ b/examples/color-themes/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/commit-table-ssr/package.json b/examples/commit-table-ssr/package.json
index 24872971f2..71bc0afbb5 100644
--- a/examples/commit-table-ssr/package.json
+++ b/examples/commit-table-ssr/package.json
@@ -26,9 +26,9 @@
 		"@thi.ng/rstream": "workspace:^",
 		"@thi.ng/transducers": "workspace:^",
 		"@thi.ng/transducers-hdom": "workspace:^",
-		"@types/express": "^4.17.21",
+		"@types/express": "^5.0.0",
 		"express": "^4.21.0",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"browser": {
 		"process": false,
diff --git a/examples/crypto-chart/package.json b/examples/crypto-chart/package.json
index 24d8f69faa..2f578a85e5 100644
--- a/examples/crypto-chart/package.json
+++ b/examples/crypto-chart/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/csp-bus/package.json b/examples/csp-bus/package.json
index ec44e64454..9989767f93 100644
--- a/examples/csp-bus/package.json
+++ b/examples/csp-bus/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/devcards/package.json b/examples/devcards/package.json
index 3eea2283d4..ea426da4b8 100644
--- a/examples/devcards/package.json
+++ b/examples/devcards/package.json
@@ -29,7 +29,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"atom",
diff --git a/examples/dominant-colors/package.json b/examples/dominant-colors/package.json
index 19ef119f23..be7ef59f17 100644
--- a/examples/dominant-colors/package.json
+++ b/examples/dominant-colors/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/ellipse-proximity/package.json b/examples/ellipse-proximity/package.json
index 212ff9c9f3..abe0a7bbda 100644
--- a/examples/ellipse-proximity/package.json
+++ b/examples/ellipse-proximity/package.json
@@ -38,7 +38,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/fft-synth/package.json b/examples/fft-synth/package.json
index 89b591c7e4..bfce4ca950 100644
--- a/examples/fft-synth/package.json
+++ b/examples/fft-synth/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"atom",
diff --git a/examples/fiber-basics/package.json b/examples/fiber-basics/package.json
index 6b228ba168..29bc229317 100644
--- a/examples/fiber-basics/package.json
+++ b/examples/fiber-basics/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/color": "workspace:^",
diff --git a/examples/fisheye-menu/package.json b/examples/fisheye-menu/package.json
index 4f25571291..c714eb63ca 100644
--- a/examples/fisheye-menu/package.json
+++ b/examples/fisheye-menu/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/hiccup-html": "workspace:^",
diff --git a/examples/geom-classify-point/package.json b/examples/geom-classify-point/package.json
index 3aaa98be8a..470df23d73 100644
--- a/examples/geom-classify-point/package.json
+++ b/examples/geom-classify-point/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/geom-complex-poly/package.json b/examples/geom-complex-poly/package.json
index faef91d7e4..de7487a268 100644
--- a/examples/geom-complex-poly/package.json
+++ b/examples/geom-complex-poly/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/geom-convex-hull/package.json b/examples/geom-convex-hull/package.json
index c4a9773945..bc9cb36772 100644
--- a/examples/geom-convex-hull/package.json
+++ b/examples/geom-convex-hull/package.json
@@ -35,7 +35,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/geom-csv-piechart/package.json b/examples/geom-csv-piechart/package.json
index ea929e3218..15b2118c3f 100644
--- a/examples/geom-csv-piechart/package.json
+++ b/examples/geom-csv-piechart/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/color": "workspace:^",
diff --git a/examples/geom-extra-hiccup/package.json b/examples/geom-extra-hiccup/package.json
index d8fc086e82..b847c959aa 100644
--- a/examples/geom-extra-hiccup/package.json
+++ b/examples/geom-extra-hiccup/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/geom-fuzz-basics/package.json b/examples/geom-fuzz-basics/package.json
index 3f25730eb8..5c3a5848b5 100644
--- a/examples/geom-fuzz-basics/package.json
+++ b/examples/geom-fuzz-basics/package.json
@@ -34,7 +34,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/geom-hexgrid/package.json b/examples/geom-hexgrid/package.json
index c93fb6be49..e0d9be5130 100644
--- a/examples/geom-hexgrid/package.json
+++ b/examples/geom-hexgrid/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/geom": "workspace:^",
diff --git a/examples/geom-knn-hash/package.json b/examples/geom-knn-hash/package.json
index e5c27c24d6..54c7cfde03 100644
--- a/examples/geom-knn-hash/package.json
+++ b/examples/geom-knn-hash/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/geom-knn/package.json b/examples/geom-knn/package.json
index 487cb9a732..11ff21fd18 100644
--- a/examples/geom-knn/package.json
+++ b/examples/geom-knn/package.json
@@ -39,7 +39,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/geom-sdf-logo/package.json b/examples/geom-sdf-logo/package.json
index 955504dd27..f0f9bf48a0 100644
--- a/examples/geom-sdf-logo/package.json
+++ b/examples/geom-sdf-logo/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/color-palettes": "workspace:^",
diff --git a/examples/geom-sdf-path/package.json b/examples/geom-sdf-path/package.json
index 5b0d3b3b7b..c8cdc8492b 100644
--- a/examples/geom-sdf-path/package.json
+++ b/examples/geom-sdf-path/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/geom": "workspace:^",
diff --git a/examples/geom-terrain-viz/package.json b/examples/geom-terrain-viz/package.json
index 4d3fcb3118..93bcaa89ee 100644
--- a/examples/geom-terrain-viz/package.json
+++ b/examples/geom-terrain-viz/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/geom-tessel/package.json b/examples/geom-tessel/package.json
index ba30ef6ecb..7254713274 100644
--- a/examples/geom-tessel/package.json
+++ b/examples/geom-tessel/package.json
@@ -35,7 +35,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/geom-unique-edges/package.json b/examples/geom-unique-edges/package.json
index 7f6a28b569..ba43291430 100644
--- a/examples/geom-unique-edges/package.json
+++ b/examples/geom-unique-edges/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/geom-voronoi-mst/package.json b/examples/geom-voronoi-mst/package.json
index a8a162d9d9..45fd9a7ed6 100644
--- a/examples/geom-voronoi-mst/package.json
+++ b/examples/geom-voronoi-mst/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/geom-webgl-attrib-pool/package.json b/examples/geom-webgl-attrib-pool/package.json
index 0e6d3867f3..88540703d1 100644
--- a/examples/geom-webgl-attrib-pool/package.json
+++ b/examples/geom-webgl-attrib-pool/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/color": "workspace:^",
diff --git a/examples/geom-webgl-basics/package.json b/examples/geom-webgl-basics/package.json
index cc5be2d822..42f26dc348 100644
--- a/examples/geom-webgl-basics/package.json
+++ b/examples/geom-webgl-basics/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/color": "workspace:^",
diff --git a/examples/gesture-analysis/package.json b/examples/gesture-analysis/package.json
index c054f1724a..24286b26db 100644
--- a/examples/gesture-analysis/package.json
+++ b/examples/gesture-analysis/package.json
@@ -38,7 +38,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/gpgpu-reduce/package.json b/examples/gpgpu-reduce/package.json
index 6afd7d63b6..f0d7020811 100644
--- a/examples/gpgpu-reduce/package.json
+++ b/examples/gpgpu-reduce/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/grid-iterators/package.json b/examples/grid-iterators/package.json
index a02598c790..35ccf7eeb8 100644
--- a/examples/grid-iterators/package.json
+++ b/examples/grid-iterators/package.json
@@ -33,7 +33,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/hdom-basics/package.json b/examples/hdom-basics/package.json
index c3c8b9f932..fd40de584b 100644
--- a/examples/hdom-basics/package.json
+++ b/examples/hdom-basics/package.json
@@ -21,7 +21,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/hdom-benchmark/package.json b/examples/hdom-benchmark/package.json
index 097723220e..8eeffc7568 100644
--- a/examples/hdom-benchmark/package.json
+++ b/examples/hdom-benchmark/package.json
@@ -29,7 +29,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/hdom-benchmark2/package.json b/examples/hdom-benchmark2/package.json
index d24d88c5ea..51db2a9df6 100644
--- a/examples/hdom-benchmark2/package.json
+++ b/examples/hdom-benchmark2/package.json
@@ -36,7 +36,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/hdom-canvas-clock/package.json b/examples/hdom-canvas-clock/package.json
index 03416091d0..3321696fba 100644
--- a/examples/hdom-canvas-clock/package.json
+++ b/examples/hdom-canvas-clock/package.json
@@ -36,7 +36,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/hdom-canvas-draw/package.json b/examples/hdom-canvas-draw/package.json
index 1c4561ce88..3b7d0e4fe4 100644
--- a/examples/hdom-canvas-draw/package.json
+++ b/examples/hdom-canvas-draw/package.json
@@ -39,7 +39,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/hdom-canvas-particles/package.json b/examples/hdom-canvas-particles/package.json
index ffcc05f7da..88ca0cc1da 100644
--- a/examples/hdom-canvas-particles/package.json
+++ b/examples/hdom-canvas-particles/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/hdom-canvas-shapes/package.json b/examples/hdom-canvas-shapes/package.json
index f3b1c1076f..7328820200 100644
--- a/examples/hdom-canvas-shapes/package.json
+++ b/examples/hdom-canvas-shapes/package.json
@@ -51,7 +51,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/hdom-dropdown-fuzzy/package.json b/examples/hdom-dropdown-fuzzy/package.json
index 8a10c97d4a..96de67d1f0 100644
--- a/examples/hdom-dropdown-fuzzy/package.json
+++ b/examples/hdom-dropdown-fuzzy/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"atom",
diff --git a/examples/hdom-dropdown/package.json b/examples/hdom-dropdown/package.json
index 380440a0d0..17949627de 100644
--- a/examples/hdom-dropdown/package.json
+++ b/examples/hdom-dropdown/package.json
@@ -26,7 +26,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"thi.ng": {
 		"readme": [
diff --git a/examples/hdom-dyn-context/package.json b/examples/hdom-dyn-context/package.json
index ffa0eeb731..3837195280 100644
--- a/examples/hdom-dyn-context/package.json
+++ b/examples/hdom-dyn-context/package.json
@@ -22,7 +22,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"thi.ng": {
 		"readme": [
diff --git a/examples/hdom-elm/package.json b/examples/hdom-elm/package.json
index b2781f6c85..b80f564679 100644
--- a/examples/hdom-elm/package.json
+++ b/examples/hdom-elm/package.json
@@ -31,7 +31,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/hdom-inner-html/package.json b/examples/hdom-inner-html/package.json
index cc6334e057..485d27b601 100644
--- a/examples/hdom-inner-html/package.json
+++ b/examples/hdom-inner-html/package.json
@@ -21,7 +21,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"thi.ng": {
 		"readme": [
diff --git a/examples/hdom-local-render/package.json b/examples/hdom-local-render/package.json
index d047be7572..ac16c4d86c 100644
--- a/examples/hdom-local-render/package.json
+++ b/examples/hdom-local-render/package.json
@@ -25,7 +25,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"thi.ng": {
 		"readme": [
diff --git a/examples/hdom-localstate/package.json b/examples/hdom-localstate/package.json
index d2e79ef66f..45e8dc531b 100644
--- a/examples/hdom-localstate/package.json
+++ b/examples/hdom-localstate/package.json
@@ -22,7 +22,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"thi.ng": {
 		"readme": [
diff --git a/examples/hdom-skip-nested/package.json b/examples/hdom-skip-nested/package.json
index 992667d866..a710dbd3c6 100644
--- a/examples/hdom-skip-nested/package.json
+++ b/examples/hdom-skip-nested/package.json
@@ -21,7 +21,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"thi.ng": {
 		"readme": true
diff --git a/examples/hdom-skip/package.json b/examples/hdom-skip/package.json
index 58abb3deba..ca618e0769 100644
--- a/examples/hdom-skip/package.json
+++ b/examples/hdom-skip/package.json
@@ -21,7 +21,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"thi.ng": {
 		"readme": true
diff --git a/examples/hdom-theme-adr-0003/package.json b/examples/hdom-theme-adr-0003/package.json
index 13d0f2b64d..7dc8af9d21 100644
--- a/examples/hdom-theme-adr-0003/package.json
+++ b/examples/hdom-theme-adr-0003/package.json
@@ -23,7 +23,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"thi.ng": {
 		"readme": [
diff --git a/examples/hdom-toggle/package.json b/examples/hdom-toggle/package.json
index 5bb765dc87..6be2aa44d6 100644
--- a/examples/hdom-toggle/package.json
+++ b/examples/hdom-toggle/package.json
@@ -26,7 +26,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/hdom-vscroller/package.json b/examples/hdom-vscroller/package.json
index 12b9524eb1..6bdc7d77ee 100644
--- a/examples/hdom-vscroller/package.json
+++ b/examples/hdom-vscroller/package.json
@@ -23,7 +23,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/hiccup-canvas-arcs/package.json b/examples/hiccup-canvas-arcs/package.json
index e3067f1fd9..4f96c3a439 100644
--- a/examples/hiccup-canvas-arcs/package.json
+++ b/examples/hiccup-canvas-arcs/package.json
@@ -41,7 +41,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/hiccup-canvas-basics/package.json b/examples/hiccup-canvas-basics/package.json
index 77286f6c14..d4f600ca2a 100644
--- a/examples/hiccup-canvas-basics/package.json
+++ b/examples/hiccup-canvas-basics/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/hiccup-css-image-transition/package.json b/examples/hiccup-css-image-transition/package.json
index 1ddb2719cf..d88a07c923 100644
--- a/examples/hiccup-css-image-transition/package.json
+++ b/examples/hiccup-css-image-transition/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/grid-iterators": "workspace:^",
diff --git a/examples/hydrate-basics/package.json b/examples/hydrate-basics/package.json
index a7c19519b2..8549583869 100644
--- a/examples/hydrate-basics/package.json
+++ b/examples/hydrate-basics/package.json
@@ -32,7 +32,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"atom",
diff --git a/examples/ifs-fractal/package.json b/examples/ifs-fractal/package.json
index 23c028598d..2d21a489d5 100644
--- a/examples/ifs-fractal/package.json
+++ b/examples/ifs-fractal/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/imgui-basics/package.json b/examples/imgui-basics/package.json
index bef64537eb..7aab8b00fe 100644
--- a/examples/imgui-basics/package.json
+++ b/examples/imgui-basics/package.json
@@ -34,7 +34,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/imgui/package.json b/examples/imgui/package.json
index 2b4f021ff6..7436b34839 100644
--- a/examples/imgui/package.json
+++ b/examples/imgui/package.json
@@ -73,6 +73,6 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	}
 }
diff --git a/examples/interceptor-basics/package.json b/examples/interceptor-basics/package.json
index 5a786008b9..49fae0dd0d 100644
--- a/examples/interceptor-basics/package.json
+++ b/examples/interceptor-basics/package.json
@@ -29,7 +29,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"atom",
diff --git a/examples/interceptor-basics2/package.json b/examples/interceptor-basics2/package.json
index e60137cda9..9360297ac1 100644
--- a/examples/interceptor-basics2/package.json
+++ b/examples/interceptor-basics2/package.json
@@ -31,7 +31,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"atom",
diff --git a/examples/iso-plasma/package.json b/examples/iso-plasma/package.json
index 41884ad248..4090dc68d1 100644
--- a/examples/iso-plasma/package.json
+++ b/examples/iso-plasma/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/json-components/package.json b/examples/json-components/package.json
index 46f42a0586..c82da796c6 100644
--- a/examples/json-components/package.json
+++ b/examples/json-components/package.json
@@ -26,7 +26,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/kmeans-viz/package.json b/examples/kmeans-viz/package.json
index 7408842df5..6e9e189d93 100644
--- a/examples/kmeans-viz/package.json
+++ b/examples/kmeans-viz/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/arrays": "workspace:^",
diff --git a/examples/layout-gridgen/package.json b/examples/layout-gridgen/package.json
index 20845eb56a..017be3c9cc 100644
--- a/examples/layout-gridgen/package.json
+++ b/examples/layout-gridgen/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/hiccup-html": "workspace:^",
diff --git a/examples/lispy-repl/package.json b/examples/lispy-repl/package.json
index e3db017ad2..09ae07512c 100644
--- a/examples/lispy-repl/package.json
+++ b/examples/lispy-repl/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/login-form/package.json b/examples/login-form/package.json
index 6b283c25fb..e3db461046 100644
--- a/examples/login-form/package.json
+++ b/examples/login-form/package.json
@@ -32,7 +32,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"atom",
diff --git a/examples/mandelbrot/package.json b/examples/mandelbrot/package.json
index 8495e8f3e0..8728073037 100644
--- a/examples/mandelbrot/package.json
+++ b/examples/mandelbrot/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/markdown/package.json b/examples/markdown/package.json
index 89d41a4647..8e8986546b 100644
--- a/examples/markdown/package.json
+++ b/examples/markdown/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/mastodon-feed/package.json b/examples/mastodon-feed/package.json
index 2852d69304..e693ec741f 100644
--- a/examples/mastodon-feed/package.json
+++ b/examples/mastodon-feed/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/meta-css-basics/package.json b/examples/meta-css-basics/package.json
index 8617efe298..ed075f9cac 100644
--- a/examples/meta-css-basics/package.json
+++ b/examples/meta-css-basics/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/hiccup-html": "workspace:^",
diff --git a/examples/multitouch/package.json b/examples/multitouch/package.json
index 5e0afd2dab..e632ca6cca 100644
--- a/examples/multitouch/package.json
+++ b/examples/multitouch/package.json
@@ -35,7 +35,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/parse-playground/package.json b/examples/parse-playground/package.json
index 02be762b86..4f3a429184 100644
--- a/examples/parse-playground/package.json
+++ b/examples/parse-playground/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"ast",
diff --git a/examples/pixel-basics/package.json b/examples/pixel-basics/package.json
index bafdb7fd12..479444091f 100644
--- a/examples/pixel-basics/package.json
+++ b/examples/pixel-basics/package.json
@@ -32,6 +32,6 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	}
 }
diff --git a/examples/pixel-colormatrix/package.json b/examples/pixel-colormatrix/package.json
index bb35ad1ae9..2b4bae5739 100644
--- a/examples/pixel-colormatrix/package.json
+++ b/examples/pixel-colormatrix/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/pixel-dither/package.json b/examples/pixel-dither/package.json
index e9be846894..5ddedf10d4 100644
--- a/examples/pixel-dither/package.json
+++ b/examples/pixel-dither/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/pixel-gradients/package.json b/examples/pixel-gradients/package.json
index 19d458fdd8..43492fc6ed 100644
--- a/examples/pixel-gradients/package.json
+++ b/examples/pixel-gradients/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/pixel-indexed/package.json b/examples/pixel-indexed/package.json
index 60db69fba8..d1254ba19a 100644
--- a/examples/pixel-indexed/package.json
+++ b/examples/pixel-indexed/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/pixel-normal-map/package.json b/examples/pixel-normal-map/package.json
index 7a0cf650e0..757dcb3fa5 100644
--- a/examples/pixel-normal-map/package.json
+++ b/examples/pixel-normal-map/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/pixel-sorting/package.json b/examples/pixel-sorting/package.json
index 12303dfce6..ad7f5a2012 100644
--- a/examples/pixel-sorting/package.json
+++ b/examples/pixel-sorting/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/bench": "workspace:^",
diff --git a/examples/pixel-waveform/package.json b/examples/pixel-waveform/package.json
index d1de953bb9..efee65d91c 100644
--- a/examples/pixel-waveform/package.json
+++ b/examples/pixel-waveform/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/pointfree-geom/package.json b/examples/pointfree-geom/package.json
index 5c8dba195e..8078b4061e 100644
--- a/examples/pointfree-geom/package.json
+++ b/examples/pointfree-geom/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/poisson-circles/package.json b/examples/poisson-circles/package.json
index b62332c35e..a88bd5bd18 100644
--- a/examples/poisson-circles/package.json
+++ b/examples/poisson-circles/package.json
@@ -33,7 +33,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/poisson-image/package.json b/examples/poisson-image/package.json
index d2bb65c395..461a60641d 100644
--- a/examples/poisson-image/package.json
+++ b/examples/poisson-image/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/bench": "workspace:^",
diff --git a/examples/poly-spline/package.json b/examples/poly-spline/package.json
index 2361699be2..dd64a8fef8 100644
--- a/examples/poly-spline/package.json
+++ b/examples/poly-spline/package.json
@@ -36,7 +36,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/poly-subdiv/package.json b/examples/poly-subdiv/package.json
index d4a26182db..b27098cfc1 100644
--- a/examples/poly-subdiv/package.json
+++ b/examples/poly-subdiv/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/arrays": "workspace:^",
diff --git a/examples/porter-duff/package.json b/examples/porter-duff/package.json
index 5db4bc39b1..598f892df7 100644
--- a/examples/porter-duff/package.json
+++ b/examples/porter-duff/package.json
@@ -27,7 +27,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/procedural-text/package.json b/examples/procedural-text/package.json
index ae8614829d..e49da1b1ce 100644
--- a/examples/procedural-text/package.json
+++ b/examples/procedural-text/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/emoji": "workspace:^",
diff --git a/examples/quasi-lattice/package.json b/examples/quasi-lattice/package.json
index 0782c33064..6c268c529b 100644
--- a/examples/quasi-lattice/package.json
+++ b/examples/quasi-lattice/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/geom": "workspace:^",
diff --git a/examples/ramp-scroll-anim/package.json b/examples/ramp-scroll-anim/package.json
index 1a4aa61491..40b61f016e 100644
--- a/examples/ramp-scroll-anim/package.json
+++ b/examples/ramp-scroll-anim/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/ramp-synth/package.json b/examples/ramp-synth/package.json
index 130b1eda16..5d1e270bc4 100644
--- a/examples/ramp-synth/package.json
+++ b/examples/ramp-synth/package.json
@@ -39,7 +39,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/rasterize-blend/package.json b/examples/rasterize-blend/package.json
index 224f385495..de116b435b 100644
--- a/examples/rasterize-blend/package.json
+++ b/examples/rasterize-blend/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/rdom-async/package.json b/examples/rdom-async/package.json
index 39cc54cc9f..af108e280c 100644
--- a/examples/rdom-async/package.json
+++ b/examples/rdom-async/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/hiccup-html": "workspace:^",
diff --git a/examples/rdom-basics/package.json b/examples/rdom-basics/package.json
index bb9be4211f..7fc12ac4ed 100644
--- a/examples/rdom-basics/package.json
+++ b/examples/rdom-basics/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/checks": "workspace:^",
diff --git a/examples/rdom-canvas-basics/package.json b/examples/rdom-canvas-basics/package.json
index 5cfccab370..9c6929e996 100644
--- a/examples/rdom-canvas-basics/package.json
+++ b/examples/rdom-canvas-basics/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/compose": "workspace:^",
diff --git a/examples/rdom-delayed-update/package.json b/examples/rdom-delayed-update/package.json
index b72e1a3aaf..1dbd04ac87 100644
--- a/examples/rdom-delayed-update/package.json
+++ b/examples/rdom-delayed-update/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/compose": "workspace:^",
diff --git a/examples/rdom-dnd/package.json b/examples/rdom-dnd/package.json
index 14f526fd9b..fc5fd4fc11 100644
--- a/examples/rdom-dnd/package.json
+++ b/examples/rdom-dnd/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/rdom-formgen/package.json b/examples/rdom-formgen/package.json
index 4f5939f000..0b4f891d3a 100644
--- a/examples/rdom-formgen/package.json
+++ b/examples/rdom-formgen/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/hiccup": "workspace:^",
diff --git a/examples/rdom-key-sequences/package.json b/examples/rdom-key-sequences/package.json
index 17dcc965fb..e7138223f7 100644
--- a/examples/rdom-key-sequences/package.json
+++ b/examples/rdom-key-sequences/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/arrays": "workspace:^",
diff --git a/examples/rdom-klist/package.json b/examples/rdom-klist/package.json
index 45a827663a..5a82839f21 100644
--- a/examples/rdom-klist/package.json
+++ b/examples/rdom-klist/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/arrays": "workspace:^",
diff --git a/examples/rdom-lazy-load/package.json b/examples/rdom-lazy-load/package.json
index 6d2e30ffa0..9c72f2f791 100644
--- a/examples/rdom-lazy-load/package.json
+++ b/examples/rdom-lazy-load/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/rdom": "workspace:^",
diff --git a/examples/rdom-lissajous/package.json b/examples/rdom-lissajous/package.json
index 3da17f1b22..a8eb6d9d7d 100644
--- a/examples/rdom-lissajous/package.json
+++ b/examples/rdom-lissajous/package.json
@@ -38,7 +38,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/rdom-reactive-svg/package.json b/examples/rdom-reactive-svg/package.json
index 3f0b6afb76..a4f0233241 100644
--- a/examples/rdom-reactive-svg/package.json
+++ b/examples/rdom-reactive-svg/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/color": "workspace:^",
diff --git a/examples/rdom-router/package.json b/examples/rdom-router/package.json
index 58249540d1..4cd7e62cc8 100644
--- a/examples/rdom-router/package.json
+++ b/examples/rdom-router/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/atom": "workspace:^",
diff --git a/examples/rdom-search-docs/package.json b/examples/rdom-search-docs/package.json
index f17e49f9c9..8d03572263 100644
--- a/examples/rdom-search-docs/package.json
+++ b/examples/rdom-search-docs/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/rdom-svg-nodes/package.json b/examples/rdom-svg-nodes/package.json
index f608165ec4..3f9ee77d83 100644
--- a/examples/rdom-svg-nodes/package.json
+++ b/examples/rdom-svg-nodes/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/rdom-web-components/package.json b/examples/rdom-web-components/package.json
index 521d5cbb3a..0a2690a87a 100644
--- a/examples/rdom-web-components/package.json
+++ b/examples/rdom-web-components/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/hiccup-carbon-icons": "workspace:^",
diff --git a/examples/related-images/package.json b/examples/related-images/package.json
index a4ff2cfeb2..85c8e09f9f 100644
--- a/examples/related-images/package.json
+++ b/examples/related-images/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/render-audio/package.json b/examples/render-audio/package.json
index 60bf74c15a..ae2c1f99d7 100644
--- a/examples/render-audio/package.json
+++ b/examples/render-audio/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/dl-asset": "workspace:^",
diff --git a/examples/rotating-voronoi/package.json b/examples/rotating-voronoi/package.json
index 872c50956f..12094d0429 100644
--- a/examples/rotating-voronoi/package.json
+++ b/examples/rotating-voronoi/package.json
@@ -65,6 +65,6 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	}
 }
diff --git a/examples/router-basics/package.json b/examples/router-basics/package.json
index 91b8c0fc36..e1c329dd11 100644
--- a/examples/router-basics/package.json
+++ b/examples/router-basics/package.json
@@ -35,7 +35,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"atom",
diff --git a/examples/rstream-dataflow/package.json b/examples/rstream-dataflow/package.json
index 28e9fe9ec7..79d4913d50 100644
--- a/examples/rstream-dataflow/package.json
+++ b/examples/rstream-dataflow/package.json
@@ -39,7 +39,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"atom",
diff --git a/examples/rstream-event-loop/package.json b/examples/rstream-event-loop/package.json
index 4c6971dc6f..8c9170e835 100644
--- a/examples/rstream-event-loop/package.json
+++ b/examples/rstream-event-loop/package.json
@@ -35,7 +35,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/rstream-grid/package.json b/examples/rstream-grid/package.json
index 7fb0524e1a..45ca34530b 100644
--- a/examples/rstream-grid/package.json
+++ b/examples/rstream-grid/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/rstream-hdom/package.json b/examples/rstream-hdom/package.json
index 3f2604a0ac..68d87b89af 100644
--- a/examples/rstream-hdom/package.json
+++ b/examples/rstream-hdom/package.json
@@ -23,7 +23,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"thi.ng": {
 		"readme": true
diff --git a/examples/rstream-spreadsheet/package.json b/examples/rstream-spreadsheet/package.json
index b27bd2b55a..6a7e8f41d0 100644
--- a/examples/rstream-spreadsheet/package.json
+++ b/examples/rstream-spreadsheet/package.json
@@ -51,7 +51,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"atom",
diff --git a/examples/rstream-sync/package.json b/examples/rstream-sync/package.json
index fd4327e80d..64cf40629e 100644
--- a/examples/rstream-sync/package.json
+++ b/examples/rstream-sync/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/rdom": "workspace:^",
diff --git a/examples/rstream-system-bus/package.json b/examples/rstream-system-bus/package.json
index 2dd09f0957..6adcc4ccd4 100644
--- a/examples/rstream-system-bus/package.json
+++ b/examples/rstream-system-bus/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/scenegraph-image/package.json b/examples/scenegraph-image/package.json
index 65e1f56be0..208f2b2f51 100644
--- a/examples/scenegraph-image/package.json
+++ b/examples/scenegraph-image/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/scenegraph/package.json b/examples/scenegraph/package.json
index dd7b37a491..2cdb222c66 100644
--- a/examples/scenegraph/package.json
+++ b/examples/scenegraph/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/shader-ast-canvas2d/package.json b/examples/shader-ast-canvas2d/package.json
index dca0cd20b1..7d3943eaf7 100644
--- a/examples/shader-ast-canvas2d/package.json
+++ b/examples/shader-ast-canvas2d/package.json
@@ -28,7 +28,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/shader-ast-easings/package.json b/examples/shader-ast-easings/package.json
index 2805f703cc..68802fb616 100644
--- a/examples/shader-ast-easings/package.json
+++ b/examples/shader-ast-easings/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/logger": "workspace:^",
diff --git a/examples/shader-ast-evo/package.json b/examples/shader-ast-evo/package.json
index f145409d57..72ebb738af 100644
--- a/examples/shader-ast-evo/package.json
+++ b/examples/shader-ast-evo/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/shader-ast-noise/package.json b/examples/shader-ast-noise/package.json
index e296c494fe..7341d73a58 100644
--- a/examples/shader-ast-noise/package.json
+++ b/examples/shader-ast-noise/package.json
@@ -29,7 +29,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/shader-ast-raymarch/package.json b/examples/shader-ast-raymarch/package.json
index 4d7aa1d8b6..34ac09a77a 100644
--- a/examples/shader-ast-raymarch/package.json
+++ b/examples/shader-ast-raymarch/package.json
@@ -29,7 +29,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"3d",
diff --git a/examples/shader-ast-sdf2d/package.json b/examples/shader-ast-sdf2d/package.json
index db20b29f01..11ef4334f4 100644
--- a/examples/shader-ast-sdf2d/package.json
+++ b/examples/shader-ast-sdf2d/package.json
@@ -29,7 +29,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/shader-ast-tunnel/package.json b/examples/shader-ast-tunnel/package.json
index 99efb769b4..b64fd178c4 100644
--- a/examples/shader-ast-tunnel/package.json
+++ b/examples/shader-ast-tunnel/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"3d",
diff --git a/examples/shader-ast-workers/package.json b/examples/shader-ast-workers/package.json
index c81e30fcf1..303d7a59ec 100644
--- a/examples/shader-ast-workers/package.json
+++ b/examples/shader-ast-workers/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"3d",
diff --git a/examples/shader-graph/package.json b/examples/shader-graph/package.json
index fb8d70ab8b..1816871c2c 100644
--- a/examples/shader-graph/package.json
+++ b/examples/shader-graph/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/simd-plot/package.json b/examples/simd-plot/package.json
index bc93902cc3..1653406f40 100644
--- a/examples/simd-plot/package.json
+++ b/examples/simd-plot/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/binary": "workspace:^",
diff --git a/examples/soa-ecs/package.json b/examples/soa-ecs/package.json
index 1efd81d5db..b2d1fb1ac6 100644
--- a/examples/soa-ecs/package.json
+++ b/examples/soa-ecs/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"3d",
diff --git a/examples/spline-tangent/package.json b/examples/spline-tangent/package.json
index 662208e41e..ff0a72d93d 100644
--- a/examples/spline-tangent/package.json
+++ b/examples/spline-tangent/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/stacked-layout/package.json b/examples/stacked-layout/package.json
index b093b8f4ca..cf72547b52 100644
--- a/examples/stacked-layout/package.json
+++ b/examples/stacked-layout/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/arrays": "workspace:^",
diff --git a/examples/stratified-grid/package.json b/examples/stratified-grid/package.json
index a71989b3b8..b310907281 100644
--- a/examples/stratified-grid/package.json
+++ b/examples/stratified-grid/package.json
@@ -30,7 +30,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/svg-barchart/package.json b/examples/svg-barchart/package.json
index 143ef7c23c..24d45535d8 100644
--- a/examples/svg-barchart/package.json
+++ b/examples/svg-barchart/package.json
@@ -27,7 +27,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/svg-particles/package.json b/examples/svg-particles/package.json
index ab04ee1119..3e447f7686 100644
--- a/examples/svg-particles/package.json
+++ b/examples/svg-particles/package.json
@@ -25,7 +25,7 @@
 	"thi.ng": {},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/svg-resample/package.json b/examples/svg-resample/package.json
index 44a903c46c..453e01afa4 100644
--- a/examples/svg-resample/package.json
+++ b/examples/svg-resample/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/geom": "workspace:^",
diff --git a/examples/svg-waveform/package.json b/examples/svg-waveform/package.json
index 4be815757e..8131ccdb55 100644
--- a/examples/svg-waveform/package.json
+++ b/examples/svg-waveform/package.json
@@ -38,7 +38,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"2d",
diff --git a/examples/talk-slides/package.json b/examples/talk-slides/package.json
index eb1ede0f14..f434692ad6 100644
--- a/examples/talk-slides/package.json
+++ b/examples/talk-slides/package.json
@@ -36,7 +36,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/text-canvas-image/package.json b/examples/text-canvas-image/package.json
index 45dc9be7d8..846a5e7a48 100644
--- a/examples/text-canvas-image/package.json
+++ b/examples/text-canvas-image/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/pixel": "workspace:^",
diff --git a/examples/text-canvas/package.json b/examples/text-canvas/package.json
index 1d73f677ed..3dfbfcda34 100644
--- a/examples/text-canvas/package.json
+++ b/examples/text-canvas/package.json
@@ -42,7 +42,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"3d",
diff --git a/examples/thing-browser/package.json b/examples/thing-browser/package.json
index ab54df509c..008f955fe6 100644
--- a/examples/thing-browser/package.json
+++ b/examples/thing-browser/package.json
@@ -20,7 +20,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/thing-packages-quiz/package.json b/examples/thing-packages-quiz/package.json
index 9131b4a4fd..a1d64f3d2a 100644
--- a/examples/thing-packages-quiz/package.json
+++ b/examples/thing-packages-quiz/package.json
@@ -19,7 +19,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/hiccup-html": "workspace:^",
diff --git a/examples/todo-list/package.json b/examples/todo-list/package.json
index e2e2de02e0..16ef6276d7 100644
--- a/examples/todo-list/package.json
+++ b/examples/todo-list/package.json
@@ -32,7 +32,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"atom",
diff --git a/examples/trace-bitmap/package.json b/examples/trace-bitmap/package.json
index a666051451..957ebb83fb 100644
--- a/examples/trace-bitmap/package.json
+++ b/examples/trace-bitmap/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/transducers-hdom/package.json b/examples/transducers-hdom/package.json
index e9799c6423..2904142cfe 100644
--- a/examples/transducers-hdom/package.json
+++ b/examples/transducers-hdom/package.json
@@ -29,7 +29,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/triple-query/package.json b/examples/triple-query/package.json
index 75151305a0..64eca905f3 100644
--- a/examples/triple-query/package.json
+++ b/examples/triple-query/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"atom",
diff --git a/examples/unbiased-normals/package.json b/examples/unbiased-normals/package.json
index 079bea92ef..cd00ce0575 100644
--- a/examples/unbiased-normals/package.json
+++ b/examples/unbiased-normals/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/viz-ridge-lines/package.json b/examples/viz-ridge-lines/package.json
index b3310b95d7..5c7c4924b4 100644
--- a/examples/viz-ridge-lines/package.json
+++ b/examples/viz-ridge-lines/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/viz-scatter-plot/package.json b/examples/viz-scatter-plot/package.json
index ac859e36c3..f672a908d8 100644
--- a/examples/viz-scatter-plot/package.json
+++ b/examples/viz-scatter-plot/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/webgl-channel-mixer/package.json b/examples/webgl-channel-mixer/package.json
index d4f2fccd20..9ac88a2e15 100644
--- a/examples/webgl-channel-mixer/package.json
+++ b/examples/webgl-channel-mixer/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/dl-asset": "workspace:^",
diff --git a/examples/webgl-cube/package.json b/examples/webgl-cube/package.json
index 254880018d..f32617d94e 100644
--- a/examples/webgl-cube/package.json
+++ b/examples/webgl-cube/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"3d",
diff --git a/examples/webgl-cubemap/package.json b/examples/webgl-cubemap/package.json
index 882d4b3563..531e8111ee 100644
--- a/examples/webgl-cubemap/package.json
+++ b/examples/webgl-cubemap/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"3d",
diff --git a/examples/webgl-float-fbo/package.json b/examples/webgl-float-fbo/package.json
index a7e64b43ff..0e21e3a4f9 100644
--- a/examples/webgl-float-fbo/package.json
+++ b/examples/webgl-float-fbo/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/colored-noise": "workspace:^",
diff --git a/examples/webgl-game-of-life/package.json b/examples/webgl-game-of-life/package.json
index 279dd7069d..9dce5b58c8 100644
--- a/examples/webgl-game-of-life/package.json
+++ b/examples/webgl-game-of-life/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/logger": "workspace:^",
diff --git a/examples/webgl-grid/package.json b/examples/webgl-grid/package.json
index 42a772ce42..8daa636677 100644
--- a/examples/webgl-grid/package.json
+++ b/examples/webgl-grid/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/webgl-msdf/package.json b/examples/webgl-msdf/package.json
index 71e0f4af23..af06973d81 100644
--- a/examples/webgl-msdf/package.json
+++ b/examples/webgl-msdf/package.json
@@ -13,7 +13,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/webgl-multipass/package.json b/examples/webgl-multipass/package.json
index 3a9d076b70..3195517ed1 100644
--- a/examples/webgl-multipass/package.json
+++ b/examples/webgl-multipass/package.json
@@ -28,7 +28,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/webgl-shadertoy/package.json b/examples/webgl-shadertoy/package.json
index e201130961..857e348e9e 100644
--- a/examples/webgl-shadertoy/package.json
+++ b/examples/webgl-shadertoy/package.json
@@ -28,7 +28,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/webgl-ssao/package.json b/examples/webgl-ssao/package.json
index 9675851932..df7ab6f29f 100644
--- a/examples/webgl-ssao/package.json
+++ b/examples/webgl-ssao/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/webgl-texture-paint/package.json b/examples/webgl-texture-paint/package.json
index 6432fe03a1..5ad9fe8081 100644
--- a/examples/webgl-texture-paint/package.json
+++ b/examples/webgl-texture-paint/package.json
@@ -18,7 +18,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/canvas": "workspace:^",
diff --git a/examples/wolfram/package.json b/examples/wolfram/package.json
index 622ad67431..9fdc79776f 100644
--- a/examples/wolfram/package.json
+++ b/examples/wolfram/package.json
@@ -34,7 +34,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"1d",
diff --git a/examples/xml-converter/package.json b/examples/xml-converter/package.json
index 565e2b0c61..11f02a3e21 100644
--- a/examples/xml-converter/package.json
+++ b/examples/xml-converter/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"keywords": [
 		"browser",
diff --git a/examples/zig-canvas/package.json b/examples/zig-canvas/package.json
index d2cd8be277..fe42336763 100644
--- a/examples/zig-canvas/package.json
+++ b/examples/zig-canvas/package.json
@@ -17,7 +17,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/zig-cellular/package.json b/examples/zig-cellular/package.json
index 28cdfe12f1..9f4ec0ed54 100644
--- a/examples/zig-cellular/package.json
+++ b/examples/zig-cellular/package.json
@@ -17,7 +17,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/zig-counter/package.json b/examples/zig-counter/package.json
index 36ca57b535..c418b64657 100644
--- a/examples/zig-counter/package.json
+++ b/examples/zig-counter/package.json
@@ -17,7 +17,7 @@
 	},
 	"devDependencies": {
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/zig-todo-list/package.json b/examples/zig-todo-list/package.json
index 2dc09fa864..7f0ffecf24 100644
--- a/examples/zig-todo-list/package.json
+++ b/examples/zig-todo-list/package.json
@@ -19,7 +19,7 @@
 	"devDependencies": {
 		"@thi.ng/wasm-api-bindgen": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/examples/zig-webgl/package.json b/examples/zig-webgl/package.json
index 772ad3bcee..79236870b4 100644
--- a/examples/zig-webgl/package.json
+++ b/examples/zig-webgl/package.json
@@ -20,7 +20,7 @@
 	"devDependencies": {
 		"@thi.ng/meta-css": "workspace:^",
 		"typescript": "^5.6.2",
-		"vite": "^5.4.7"
+		"vite": "^5.4.8"
 	},
 	"dependencies": {
 		"@thi.ng/api": "workspace:^",
diff --git a/package.json b/package.json
index aac9786d49..346e9bcdcb 100644
--- a/package.json
+++ b/package.json
@@ -7,11 +7,11 @@
 		"tools"
 	],
 	"devDependencies": {
-		"@microsoft/api-documenter": "^7.25.14",
+		"@microsoft/api-documenter": "^7.25.17",
 		"@microsoft/api-extractor": "^7.47.9",
 		"all-contributors-cli": "^6.26.1",
 		"bun-types": "^1.1.29",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"html-minifier-terser": "^7.2.0",
 		"tools": "workspace:^",
 		"typedoc": "^0.26.7",
diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json
index 2ea74c7121..97e5614620 100644
--- a/packages/adjacency/package.json
+++ b/packages/adjacency/package.json
@@ -50,7 +50,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/vectors": "^7.12.2",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/api/package.json b/packages/api/package.json
index b02987deb5..2d4e5ed3ad 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/args/package.json b/packages/args/package.json
index 9485daafb0..06d140799d 100644
--- a/packages/args/package.json
+++ b/packages/args/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/arrays/package.json b/packages/arrays/package.json
index 17d8076124..ac6ea63737 100644
--- a/packages/arrays/package.json
+++ b/packages/arrays/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/associative/package.json b/packages/associative/package.json
index bfb77b9ca4..7bf35bb427 100644
--- a/packages/associative/package.json
+++ b/packages/associative/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/atom/package.json b/packages/atom/package.json
index 06f44e41e2..a15fa7e060 100644
--- a/packages/atom/package.json
+++ b/packages/atom/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/axidraw/package.json b/packages/axidraw/package.json
index b8869c8926..d19604f9a3 100644
--- a/packages/axidraw/package.json
+++ b/packages/axidraw/package.json
@@ -50,7 +50,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/base-n/package.json b/packages/base-n/package.json
index aa02e4bbf5..c677c2674b 100644
--- a/packages/base-n/package.json
+++ b/packages/base-n/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/bench/package.json b/packages/bench/package.json
index bf13980df8..86475c696d 100644
--- a/packages/bench/package.json
+++ b/packages/bench/package.json
@@ -40,8 +40,8 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"@types/node": "^22.5.5",
-		"esbuild": "^0.23.1",
+		"@types/node": "^22.7.4",
+		"esbuild": "^0.24.0",
 		"tools": "workspace:^",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
diff --git a/packages/bencode/package.json b/packages/bencode/package.json
index b5bd161b9d..151075833c 100644
--- a/packages/bencode/package.json
+++ b/packages/bencode/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/bidir-index/package.json b/packages/bidir-index/package.json
index 41d7cc55e1..2b6f1ab806 100644
--- a/packages/bidir-index/package.json
+++ b/packages/bidir-index/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/binary/package.json b/packages/binary/package.json
index 4b0f3c7955..226984431d 100644
--- a/packages/binary/package.json
+++ b/packages/binary/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json
index bbede27364..21ff51d482 100644
--- a/packages/bitfield/package.json
+++ b/packages/bitfield/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json
index bbab5e338d..e03f671853 100644
--- a/packages/bitstream/package.json
+++ b/packages/bitstream/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/blurhash/package.json b/packages/blurhash/package.json
index c51453793e..af225f3e7d 100644
--- a/packages/blurhash/package.json
+++ b/packages/blurhash/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"tools": "workspace:^",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
diff --git a/packages/boids/package.json b/packages/boids/package.json
index 7f8385c648..7cdf250f1e 100644
--- a/packages/boids/package.json
+++ b/packages/boids/package.json
@@ -47,7 +47,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/buffers/package.json b/packages/buffers/package.json
index 9f4214e951..76f976c04c 100644
--- a/packages/buffers/package.json
+++ b/packages/buffers/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/cache/package.json b/packages/cache/package.json
index ee352e9ecc..e1f5dca30e 100644
--- a/packages/cache/package.json
+++ b/packages/cache/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/canvas/package.json b/packages/canvas/package.json
index 7c8a3ffa09..2893cb1fe0 100644
--- a/packages/canvas/package.json
+++ b/packages/canvas/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"tools": "workspace:^",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
diff --git a/packages/cellular/package.json b/packages/cellular/package.json
index 5d0996e4dc..08ca563c7e 100644
--- a/packages/cellular/package.json
+++ b/packages/cellular/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/checks/package.json b/packages/checks/package.json
index 2fa5f695c4..b0a4c1a1ca 100644
--- a/packages/checks/package.json
+++ b/packages/checks/package.json
@@ -44,8 +44,8 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"@types/node": "^22.5.5",
-		"esbuild": "^0.23.1",
+		"@types/node": "^22.7.4",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/color-palettes/package.json b/packages/color-palettes/package.json
index 1e04549916..feaab6c1bb 100644
--- a/packages/color-palettes/package.json
+++ b/packages/color-palettes/package.json
@@ -47,7 +47,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/color/package.json b/packages/color/package.json
index fadda1c8a5..bc2569a25d 100644
--- a/packages/color/package.json
+++ b/packages/color/package.json
@@ -56,7 +56,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/colored-noise/package.json b/packages/colored-noise/package.json
index 294165dbb0..6c82f7fd1e 100644
--- a/packages/colored-noise/package.json
+++ b/packages/colored-noise/package.json
@@ -47,7 +47,7 @@
 		"@thi.ng/text-canvas": "^3.0.38",
 		"@thi.ng/transducers": "^9.2.4",
 		"@thi.ng/vectors": "^7.12.2",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/compare/package.json b/packages/compare/package.json
index d2ce81440c..b0a2d77977 100644
--- a/packages/compare/package.json
+++ b/packages/compare/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/complex/package.json b/packages/complex/package.json
index 7cbb0d9be0..36175248e6 100644
--- a/packages/complex/package.json
+++ b/packages/complex/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/compose/package.json b/packages/compose/package.json
index adcad9e4f4..e26e113078 100644
--- a/packages/compose/package.json
+++ b/packages/compose/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/csp/package.json b/packages/csp/package.json
index 44675183b4..f78a97de11 100644
--- a/packages/csp/package.json
+++ b/packages/csp/package.json
@@ -47,7 +47,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/csv/package.json b/packages/csv/package.json
index e702202e4e..8e619036f1 100644
--- a/packages/csv/package.json
+++ b/packages/csv/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/date/package.json b/packages/date/package.json
index d6fe671ee4..9a74ebe7a1 100644
--- a/packages/date/package.json
+++ b/packages/date/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/dcons/package.json b/packages/dcons/package.json
index fddc972ffd..8c40dc2255 100644
--- a/packages/dcons/package.json
+++ b/packages/dcons/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json
index 1db179134b..49fd5e7c1f 100644
--- a/packages/defmulti/package.json
+++ b/packages/defmulti/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/dgraph-dot/package.json b/packages/dgraph-dot/package.json
index fbfee2bd66..b4e5075671 100644
--- a/packages/dgraph-dot/package.json
+++ b/packages/dgraph-dot/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json
index a39be3e5a9..e2e9b13788 100644
--- a/packages/dgraph/package.json
+++ b/packages/dgraph/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/disjoint-set/package.json b/packages/disjoint-set/package.json
index 6c097f9d57..276bb0132f 100644
--- a/packages/disjoint-set/package.json
+++ b/packages/disjoint-set/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/distance-transform/package.json b/packages/distance-transform/package.json
index d4a938a24f..c9136f20f4 100644
--- a/packages/distance-transform/package.json
+++ b/packages/distance-transform/package.json
@@ -41,7 +41,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/pixel": "^7.3.4",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/distance/package.json b/packages/distance/package.json
index e84810e18c..8f11ed5d8f 100644
--- a/packages/distance/package.json
+++ b/packages/distance/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/dl-asset/package.json b/packages/dl-asset/package.json
index dab2f66f7a..985f205a19 100644
--- a/packages/dl-asset/package.json
+++ b/packages/dl-asset/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json
index af13da888a..9a6e6ed386 100644
--- a/packages/dlogic/package.json
+++ b/packages/dlogic/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/dot/package.json b/packages/dot/package.json
index 3f4b90ae47..a0dd84d839 100644
--- a/packages/dot/package.json
+++ b/packages/dot/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/dsp-io-wav/package.json b/packages/dsp-io-wav/package.json
index 1fab887e3d..64077f6ee8 100644
--- a/packages/dsp-io-wav/package.json
+++ b/packages/dsp-io-wav/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/dsp/package.json b/packages/dsp/package.json
index c05aa2a8b9..ebae433bea 100644
--- a/packages/dsp/package.json
+++ b/packages/dsp/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/dual-algebra/package.json b/packages/dual-algebra/package.json
index 0a01550684..00426cc0b6 100644
--- a/packages/dual-algebra/package.json
+++ b/packages/dual-algebra/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/dynvar/package.json b/packages/dynvar/package.json
index 95e9caf0e4..37db2dc33a 100644
--- a/packages/dynvar/package.json
+++ b/packages/dynvar/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/ecs/package.json b/packages/ecs/package.json
index 661cb4e055..256e3679fb 100644
--- a/packages/ecs/package.json
+++ b/packages/ecs/package.json
@@ -51,7 +51,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/equiv": "^2.1.66",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/egf/package.json b/packages/egf/package.json
index adf093daa2..f22ce4c42d 100644
--- a/packages/egf/package.json
+++ b/packages/egf/package.json
@@ -44,7 +44,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/equiv": "^2.1.66",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/emoji/package.json b/packages/emoji/package.json
index 38d9ca1a25..fda9fdc894 100644
--- a/packages/emoji/package.json
+++ b/packages/emoji/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/equiv/package.json b/packages/equiv/package.json
index 27cf04d50b..ec97d4d471 100644
--- a/packages/equiv/package.json
+++ b/packages/equiv/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/errors/package.json b/packages/errors/package.json
index 52f5f9cf80..f572949596 100644
--- a/packages/errors/package.json
+++ b/packages/errors/package.json
@@ -37,8 +37,8 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"@types/node": "^22.5.5",
-		"esbuild": "^0.23.1",
+		"@types/node": "^22.7.4",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/expose/package.json b/packages/expose/package.json
index 208e7839d6..cdc236622d 100644
--- a/packages/expose/package.json
+++ b/packages/expose/package.json
@@ -37,8 +37,8 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"@types/node": "^22.5.5",
-		"esbuild": "^0.23.1",
+		"@types/node": "^22.7.4",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/fibers/package.json b/packages/fibers/package.json
index 4e27395098..5160c27f4f 100644
--- a/packages/fibers/package.json
+++ b/packages/fibers/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/file-io/package.json b/packages/file-io/package.json
index 27eb89cf84..232d092471 100644
--- a/packages/file-io/package.json
+++ b/packages/file-io/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/fuzzy-viz/package.json b/packages/fuzzy-viz/package.json
index 9954a7b905..f20cd347f3 100644
--- a/packages/fuzzy-viz/package.json
+++ b/packages/fuzzy-viz/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/fuzzy/package.json b/packages/fuzzy/package.json
index caf0cadbd5..4f189de636 100644
--- a/packages/fuzzy/package.json
+++ b/packages/fuzzy/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json
index 48e54b2e55..1056295c12 100644
--- a/packages/geom-accel/package.json
+++ b/packages/geom-accel/package.json
@@ -51,7 +51,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-arc/package.json b/packages/geom-arc/package.json
index 15d98f35cb..94c0892dbe 100644
--- a/packages/geom-arc/package.json
+++ b/packages/geom-arc/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-axidraw/package.json b/packages/geom-axidraw/package.json
index 586b869a16..d90f9c872f 100644
--- a/packages/geom-axidraw/package.json
+++ b/packages/geom-axidraw/package.json
@@ -50,7 +50,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-clip-line/package.json b/packages/geom-clip-line/package.json
index 395f569764..bd3c8a9a1c 100644
--- a/packages/geom-clip-line/package.json
+++ b/packages/geom-clip-line/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-clip-poly/package.json b/packages/geom-clip-poly/package.json
index d5b04d9bbd..af36d89fef 100644
--- a/packages/geom-clip-poly/package.json
+++ b/packages/geom-clip-poly/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-closest-point/package.json b/packages/geom-closest-point/package.json
index aa9f8d1b0f..915f999e2c 100644
--- a/packages/geom-closest-point/package.json
+++ b/packages/geom-closest-point/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-fuzz/package.json b/packages/geom-fuzz/package.json
index 8c1c3a7e41..d4e87d86bb 100644
--- a/packages/geom-fuzz/package.json
+++ b/packages/geom-fuzz/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-hull/package.json b/packages/geom-hull/package.json
index 83482061b5..fe320ce641 100644
--- a/packages/geom-hull/package.json
+++ b/packages/geom-hull/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-io-obj/package.json b/packages/geom-io-obj/package.json
index e34fc0978d..2b0740c117 100644
--- a/packages/geom-io-obj/package.json
+++ b/packages/geom-io-obj/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-isec/package.json b/packages/geom-isec/package.json
index 03516ce6c1..b56e8712b6 100644
--- a/packages/geom-isec/package.json
+++ b/packages/geom-isec/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-isoline/package.json b/packages/geom-isoline/package.json
index 5d802ffc1c..94f2cbd407 100644
--- a/packages/geom-isoline/package.json
+++ b/packages/geom-isoline/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-poly-utils/package.json b/packages/geom-poly-utils/package.json
index 96d2c0a36f..f98fbbf9f6 100644
--- a/packages/geom-poly-utils/package.json
+++ b/packages/geom-poly-utils/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-resample/package.json b/packages/geom-resample/package.json
index b73bd12b83..38a8f288d5 100644
--- a/packages/geom-resample/package.json
+++ b/packages/geom-resample/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-sdf/package.json b/packages/geom-sdf/package.json
index dad8428929..31153d71d6 100644
--- a/packages/geom-sdf/package.json
+++ b/packages/geom-sdf/package.json
@@ -50,7 +50,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-splines/package.json b/packages/geom-splines/package.json
index 2037e28b78..b09333eac1 100644
--- a/packages/geom-splines/package.json
+++ b/packages/geom-splines/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-subdiv-curve/package.json b/packages/geom-subdiv-curve/package.json
index bc1870e949..0b5bcc14ee 100644
--- a/packages/geom-subdiv-curve/package.json
+++ b/packages/geom-subdiv-curve/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-tessellate/package.json b/packages/geom-tessellate/package.json
index 09ed8e4a75..783e96c9d7 100644
--- a/packages/geom-tessellate/package.json
+++ b/packages/geom-tessellate/package.json
@@ -49,7 +49,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-trace-bitmap/package.json b/packages/geom-trace-bitmap/package.json
index 80519359d0..b75551a56e 100644
--- a/packages/geom-trace-bitmap/package.json
+++ b/packages/geom-trace-bitmap/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-voronoi/package.json b/packages/geom-voronoi/package.json
index 1ebc58f93c..706769dabc 100644
--- a/packages/geom-voronoi/package.json
+++ b/packages/geom-voronoi/package.json
@@ -49,7 +49,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom-webgl/package.json b/packages/geom-webgl/package.json
index 585d16b85c..7fb2932576 100644
--- a/packages/geom-webgl/package.json
+++ b/packages/geom-webgl/package.json
@@ -49,7 +49,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/geom/package.json b/packages/geom/package.json
index 2542ade915..23cb73d9df 100644
--- a/packages/geom/package.json
+++ b/packages/geom/package.json
@@ -67,7 +67,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/gp/package.json b/packages/gp/package.json
index 53d63f4fa1..efb1c35b79 100644
--- a/packages/gp/package.json
+++ b/packages/gp/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/grid-iterators/package.json b/packages/grid-iterators/package.json
index a7e29d24af..21f9c43942 100644
--- a/packages/grid-iterators/package.json
+++ b/packages/grid-iterators/package.json
@@ -49,7 +49,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hdiff/package.json b/packages/hdiff/package.json
index 179ec5a858..fb53b0dbd0 100644
--- a/packages/hdiff/package.json
+++ b/packages/hdiff/package.json
@@ -45,8 +45,8 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"@types/node": "^22.5.5",
-		"esbuild": "^0.23.1",
+		"@types/node": "^22.7.4",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json
index 14da082c34..c5bc6201df 100644
--- a/packages/hdom-canvas/package.json
+++ b/packages/hdom-canvas/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json
index 9c2c638c76..858e31303c 100644
--- a/packages/hdom-components/package.json
+++ b/packages/hdom-components/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hdom-mock/package.json b/packages/hdom-mock/package.json
index a322056a4e..5b5a0ce8b0 100644
--- a/packages/hdom-mock/package.json
+++ b/packages/hdom-mock/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hdom/package.json b/packages/hdom/package.json
index c9b0ce5cdf..b1abfea700 100644
--- a/packages/hdom/package.json
+++ b/packages/hdom/package.json
@@ -51,7 +51,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/atom": "^5.3.10",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/heaps/package.json b/packages/heaps/package.json
index 113ee74826..dac9f6654e 100644
--- a/packages/heaps/package.json
+++ b/packages/heaps/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hex/package.json b/packages/hex/package.json
index 448d999f21..cf391baafc 100644
--- a/packages/hex/package.json
+++ b/packages/hex/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hiccup-canvas/package.json b/packages/hiccup-canvas/package.json
index fbec82e18f..24fb0274b6 100644
--- a/packages/hiccup-canvas/package.json
+++ b/packages/hiccup-canvas/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hiccup-carbon-icons/package.json b/packages/hiccup-carbon-icons/package.json
index db5d82cd09..8f878b8ce0 100644
--- a/packages/hiccup-carbon-icons/package.json
+++ b/packages/hiccup-carbon-icons/package.json
@@ -40,7 +40,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/hiccup": "^5.2.13",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json
index 74d249b867..c9cde1d49f 100644
--- a/packages/hiccup-css/package.json
+++ b/packages/hiccup-css/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hiccup-html-parse/package.json b/packages/hiccup-html-parse/package.json
index 23b58943bb..ecfba48ab9 100644
--- a/packages/hiccup-html-parse/package.json
+++ b/packages/hiccup-html-parse/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hiccup-html/package.json b/packages/hiccup-html/package.json
index 348ac8f3c9..dbe671195e 100644
--- a/packages/hiccup-html/package.json
+++ b/packages/hiccup-html/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json
index 323f1ab1d7..1dd3a3f6f6 100644
--- a/packages/hiccup-markdown/package.json
+++ b/packages/hiccup-markdown/package.json
@@ -50,7 +50,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json
index 7ef143d625..32aafe9484 100644
--- a/packages/hiccup-svg/package.json
+++ b/packages/hiccup-svg/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json
index 4bbdba2df8..3229a88aa9 100644
--- a/packages/hiccup/package.json
+++ b/packages/hiccup/package.json
@@ -44,7 +44,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/atom": "^5.3.10",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/idgen/package.json b/packages/idgen/package.json
index 447c6ae047..1ffd3080bb 100644
--- a/packages/idgen/package.json
+++ b/packages/idgen/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/iges/package.json b/packages/iges/package.json
index 38f4e20e0e..91a64e55b0 100644
--- a/packages/iges/package.json
+++ b/packages/iges/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/imago/package.json b/packages/imago/package.json
index b307724fe0..fe97b2b8f4 100644
--- a/packages/imago/package.json
+++ b/packages/imago/package.json
@@ -53,7 +53,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/vectors": "^7.12.2",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/imgui/package.json b/packages/imgui/package.json
index f0291ac834..57280464a3 100644
--- a/packages/imgui/package.json
+++ b/packages/imgui/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json
index 374c716bd2..a27d12de86 100644
--- a/packages/interceptors/package.json
+++ b/packages/interceptors/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/intervals/package.json b/packages/intervals/package.json
index 872f4de526..8b61aa001f 100644
--- a/packages/intervals/package.json
+++ b/packages/intervals/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/k-means/package.json b/packages/k-means/package.json
index f1ffbbf053..83d4235de1 100644
--- a/packages/k-means/package.json
+++ b/packages/k-means/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/ksuid/package.json b/packages/ksuid/package.json
index 92e129505d..245dbc4290 100644
--- a/packages/ksuid/package.json
+++ b/packages/ksuid/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/layout/package.json b/packages/layout/package.json
index 1316e4f3ec..5262e905c6 100644
--- a/packages/layout/package.json
+++ b/packages/layout/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/leb128/package.json b/packages/leb128/package.json
index 288c6ab3cd..b261e812fb 100644
--- a/packages/leb128/package.json
+++ b/packages/leb128/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/logger/package.json b/packages/logger/package.json
index 8bde8d5873..51ea5b283d 100644
--- a/packages/logger/package.json
+++ b/packages/logger/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/lowdisc/package.json b/packages/lowdisc/package.json
index cc715b4dd2..56f5775b88 100644
--- a/packages/lowdisc/package.json
+++ b/packages/lowdisc/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/lsys/package.json b/packages/lsys/package.json
index 33d0e8473e..6623b191f0 100644
--- a/packages/lsys/package.json
+++ b/packages/lsys/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/malloc/package.json b/packages/malloc/package.json
index 684a5162d7..fb87ae5dc8 100644
--- a/packages/malloc/package.json
+++ b/packages/malloc/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/markdown-table/package.json b/packages/markdown-table/package.json
index 2a33d600f7..11ea6e251f 100644
--- a/packages/markdown-table/package.json
+++ b/packages/markdown-table/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/math/package.json b/packages/math/package.json
index 47f2ab8164..f112c29ba3 100644
--- a/packages/math/package.json
+++ b/packages/math/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/matrices/package.json b/packages/matrices/package.json
index db142b57d7..e670ab1534 100644
--- a/packages/matrices/package.json
+++ b/packages/matrices/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/memoize/package.json b/packages/memoize/package.json
index b16a097f5e..c55ea24c88 100644
--- a/packages/memoize/package.json
+++ b/packages/memoize/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/meta-css/package.json b/packages/meta-css/package.json
index 75b6dc487f..de83769ff5 100644
--- a/packages/meta-css/package.json
+++ b/packages/meta-css/package.json
@@ -58,7 +58,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/mime/package.json b/packages/mime/package.json
index b72f0c26ab..930b1682e5 100644
--- a/packages/mime/package.json
+++ b/packages/mime/package.json
@@ -39,7 +39,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/api": "^8.11.10",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/morton/package.json b/packages/morton/package.json
index b6a3c8acd5..647d0642cf 100644
--- a/packages/morton/package.json
+++ b/packages/morton/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/msgpack/package.json b/packages/msgpack/package.json
index 90bbd4cda4..ad93c00e85 100644
--- a/packages/msgpack/package.json
+++ b/packages/msgpack/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/object-utils/package.json b/packages/object-utils/package.json
index 67662f4800..f3748f034e 100644
--- a/packages/object-utils/package.json
+++ b/packages/object-utils/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/oquery/package.json b/packages/oquery/package.json
index 2815758883..80da0af13f 100644
--- a/packages/oquery/package.json
+++ b/packages/oquery/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/parse/package.json b/packages/parse/package.json
index 418f327f1d..40084dc8ad 100644
--- a/packages/parse/package.json
+++ b/packages/parse/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/paths/package.json b/packages/paths/package.json
index 7a324ac607..87164692f3 100644
--- a/packages/paths/package.json
+++ b/packages/paths/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/pixel-convolve/package.json b/packages/pixel-convolve/package.json
index 30d46c93eb..08ec3d35c3 100644
--- a/packages/pixel-convolve/package.json
+++ b/packages/pixel-convolve/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/pixel-dither/package.json b/packages/pixel-dither/package.json
index 706855b498..54a9ae34b1 100644
--- a/packages/pixel-dither/package.json
+++ b/packages/pixel-dither/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/pixel-dominant-colors/package.json b/packages/pixel-dominant-colors/package.json
index 618f275427..40834849c5 100644
--- a/packages/pixel-dominant-colors/package.json
+++ b/packages/pixel-dominant-colors/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/pixel-io-geotiff/package.json b/packages/pixel-io-geotiff/package.json
index fa81890e3c..13a10ae393 100644
--- a/packages/pixel-io-geotiff/package.json
+++ b/packages/pixel-io-geotiff/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/pixel-io-netpbm/package.json b/packages/pixel-io-netpbm/package.json
index 6b804569e8..43bca0d8e7 100644
--- a/packages/pixel-io-netpbm/package.json
+++ b/packages/pixel-io-netpbm/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/pixel-io-pfm/package.json b/packages/pixel-io-pfm/package.json
index a8e3f98021..65c85a3af6 100644
--- a/packages/pixel-io-pfm/package.json
+++ b/packages/pixel-io-pfm/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/pixel/package.json b/packages/pixel/package.json
index f8d81558be..9600df9970 100644
--- a/packages/pixel/package.json
+++ b/packages/pixel/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"tslib": "^2.7.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json
index 1018b543a7..2d2d1add9c 100644
--- a/packages/pointfree-lang/package.json
+++ b/packages/pointfree-lang/package.json
@@ -50,7 +50,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"pegjs": "0.11.0-master.b7b87ea",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json
index 81ae446b93..b959e3d30f 100644
--- a/packages/pointfree/package.json
+++ b/packages/pointfree/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/poisson/package.json b/packages/poisson/package.json
index 2a8b72f0e3..52f9696485 100644
--- a/packages/poisson/package.json
+++ b/packages/poisson/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/porter-duff/package.json b/packages/porter-duff/package.json
index 13a29e057a..f124e3d26e 100644
--- a/packages/porter-duff/package.json
+++ b/packages/porter-duff/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/prefixes/package.json b/packages/prefixes/package.json
index cc58337099..620b285381 100644
--- a/packages/prefixes/package.json
+++ b/packages/prefixes/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/proctext/package.json b/packages/proctext/package.json
index 1b546930df..f0595c4c6c 100644
--- a/packages/proctext/package.json
+++ b/packages/proctext/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/quad-edge/package.json b/packages/quad-edge/package.json
index 9ad6a652c1..2ac78d54e1 100644
--- a/packages/quad-edge/package.json
+++ b/packages/quad-edge/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/ramp/package.json b/packages/ramp/package.json
index ecb9a7841f..ce93539280 100644
--- a/packages/ramp/package.json
+++ b/packages/ramp/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/random-fxhash/package.json b/packages/random-fxhash/package.json
index 3cfdcd8a30..8aa2954cce 100644
--- a/packages/random-fxhash/package.json
+++ b/packages/random-fxhash/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/random/package.json b/packages/random/package.json
index 6ed2bacde4..24e48d4edc 100644
--- a/packages/random/package.json
+++ b/packages/random/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json
index 69ea355a0c..2e41939ef7 100644
--- a/packages/range-coder/package.json
+++ b/packages/range-coder/package.json
@@ -41,7 +41,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/transducers": "^9.2.4",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rasterize/package.json b/packages/rasterize/package.json
index c53c429515..7b7152e452 100644
--- a/packages/rasterize/package.json
+++ b/packages/rasterize/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rdom-canvas/package.json b/packages/rdom-canvas/package.json
index 36604aa901..ff4fae6c11 100644
--- a/packages/rdom-canvas/package.json
+++ b/packages/rdom-canvas/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rdom-components/package.json b/packages/rdom-components/package.json
index 51d3e03c57..aa3d346864 100644
--- a/packages/rdom-components/package.json
+++ b/packages/rdom-components/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rdom-forms/package.json b/packages/rdom-forms/package.json
index b9ee0e943a..2500d74b78 100644
--- a/packages/rdom-forms/package.json
+++ b/packages/rdom-forms/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rdom/package.json b/packages/rdom/package.json
index b886ec9a14..77d67528e7 100644
--- a/packages/rdom/package.json
+++ b/packages/rdom/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json
index 825f390629..1172f90b8d 100644
--- a/packages/resolve-map/package.json
+++ b/packages/resolve-map/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rle-pack/package.json b/packages/rle-pack/package.json
index 9b8d74a426..abc2f8c769 100644
--- a/packages/rle-pack/package.json
+++ b/packages/rle-pack/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/router/package.json b/packages/router/package.json
index 49c1d007f0..fd9d3f66ae 100644
--- a/packages/router/package.json
+++ b/packages/router/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json
index f319580907..2ca6192c84 100644
--- a/packages/rstream-csp/package.json
+++ b/packages/rstream-csp/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json
index b374c12816..e8b79bf22a 100644
--- a/packages/rstream-dot/package.json
+++ b/packages/rstream-dot/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json
index 88347f201f..279f31d069 100644
--- a/packages/rstream-gestures/package.json
+++ b/packages/rstream-gestures/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json
index 3d08ab64d4..5501d1274c 100644
--- a/packages/rstream-graph/package.json
+++ b/packages/rstream-graph/package.json
@@ -47,7 +47,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json
index abfcfcb477..0278660507 100644
--- a/packages/rstream-log-file/package.json
+++ b/packages/rstream-log-file/package.json
@@ -40,8 +40,8 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"@types/node": "^22.5.5",
-		"esbuild": "^0.23.1",
+		"@types/node": "^22.7.4",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json
index 41a75ceee0..86f8fd1dc5 100644
--- a/packages/rstream-log/package.json
+++ b/packages/rstream-log/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json
index f410cb95ab..d8ff72dc7e 100644
--- a/packages/rstream-query/package.json
+++ b/packages/rstream-query/package.json
@@ -49,7 +49,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/rstream/package.json b/packages/rstream/package.json
index 4ae5fa43df..c50aeb1ed0 100644
--- a/packages/rstream/package.json
+++ b/packages/rstream/package.json
@@ -51,7 +51,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/sax/package.json b/packages/sax/package.json
index 4d6e7492f5..5271202a67 100644
--- a/packages/sax/package.json
+++ b/packages/sax/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json
index e411a64bbc..6f513f0345 100644
--- a/packages/scenegraph/package.json
+++ b/packages/scenegraph/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/seq/package.json b/packages/seq/package.json
index 902de1d397..eb0668a483 100644
--- a/packages/seq/package.json
+++ b/packages/seq/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/sexpr/package.json b/packages/sexpr/package.json
index 5f5a6ad0a8..23d41fe797 100644
--- a/packages/sexpr/package.json
+++ b/packages/sexpr/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/shader-ast-glsl/package.json b/packages/shader-ast-glsl/package.json
index 043ad9135b..fc3254c187 100644
--- a/packages/shader-ast-glsl/package.json
+++ b/packages/shader-ast-glsl/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/shader-ast-js/package.json b/packages/shader-ast-js/package.json
index f32fe99661..7d627e65e3 100644
--- a/packages/shader-ast-js/package.json
+++ b/packages/shader-ast-js/package.json
@@ -47,7 +47,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/shader-ast-optimize/package.json b/packages/shader-ast-optimize/package.json
index e08408947d..c4520420a2 100644
--- a/packages/shader-ast-optimize/package.json
+++ b/packages/shader-ast-optimize/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json
index 7070279f4f..69c54b7e2c 100644
--- a/packages/shader-ast-stdlib/package.json
+++ b/packages/shader-ast-stdlib/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json
index 48faa3545f..2943a8d9e2 100644
--- a/packages/shader-ast/package.json
+++ b/packages/shader-ast/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/simd/package.json b/packages/simd/package.json
index 0fc8327ac3..5a53f3e458 100644
--- a/packages/simd/package.json
+++ b/packages/simd/package.json
@@ -42,8 +42,8 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"assemblyscript": "0.27.29",
-		"esbuild": "^0.23.1",
+		"assemblyscript": "0.27.30",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/soa/package.json b/packages/soa/package.json
index 6e58487c55..ef6a731259 100644
--- a/packages/soa/package.json
+++ b/packages/soa/package.json
@@ -45,7 +45,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/equiv": "^2.1.66",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/sorted-map/package.json b/packages/sorted-map/package.json
index 780e9b710e..a29cb9dd5d 100644
--- a/packages/sorted-map/package.json
+++ b/packages/sorted-map/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/sparse-set/package.json b/packages/sparse-set/package.json
index 79223ad908..90393ad20d 100644
--- a/packages/sparse-set/package.json
+++ b/packages/sparse-set/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/sparse/package.json b/packages/sparse/package.json
index 2d896e7492..5e60e7cc1d 100644
--- a/packages/sparse/package.json
+++ b/packages/sparse/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/strings/package.json b/packages/strings/package.json
index 52d4e72d7d..98d1b5a0d9 100644
--- a/packages/strings/package.json
+++ b/packages/strings/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/system/package.json b/packages/system/package.json
index 1e5301eac5..cbdc938490 100644
--- a/packages/system/package.json
+++ b/packages/system/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/tangle/package.json b/packages/tangle/package.json
index 0ebdc8d860..8deb2f408d 100644
--- a/packages/tangle/package.json
+++ b/packages/tangle/package.json
@@ -50,7 +50,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/text-canvas/package.json b/packages/text-canvas/package.json
index e668b133f4..2739f50872 100644
--- a/packages/text-canvas/package.json
+++ b/packages/text-canvas/package.json
@@ -48,7 +48,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"tslib": "^2.7.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
diff --git a/packages/text-format/package.json b/packages/text-format/package.json
index 3d80216f80..e241160581 100644
--- a/packages/text-format/package.json
+++ b/packages/text-format/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/timestep/package.json b/packages/timestep/package.json
index b209932885..7e652fd293 100644
--- a/packages/timestep/package.json
+++ b/packages/timestep/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/transclude/package.json b/packages/transclude/package.json
index ff63ecdd50..410088274f 100644
--- a/packages/transclude/package.json
+++ b/packages/transclude/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/transducers-async/package.json b/packages/transducers-async/package.json
index 53cab25d61..d43d48d8b9 100644
--- a/packages/transducers-async/package.json
+++ b/packages/transducers-async/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/transducers-binary/package.json b/packages/transducers-binary/package.json
index d133095e13..96dc405b00 100644
--- a/packages/transducers-binary/package.json
+++ b/packages/transducers-binary/package.json
@@ -46,7 +46,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json
index 098245446c..b183253cec 100644
--- a/packages/transducers-fsm/package.json
+++ b/packages/transducers-fsm/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json
index 9e071d9dde..aa3b3c1916 100644
--- a/packages/transducers-hdom/package.json
+++ b/packages/transducers-hdom/package.json
@@ -42,7 +42,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json
index ba00542d3e..0da4a0ee0d 100644
--- a/packages/transducers-patch/package.json
+++ b/packages/transducers-patch/package.json
@@ -44,7 +44,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json
index 8f278edd1d..39ca307ac8 100644
--- a/packages/transducers-stats/package.json
+++ b/packages/transducers-stats/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/transducers/package.json b/packages/transducers/package.json
index 1028dea33f..86b094e835 100644
--- a/packages/transducers/package.json
+++ b/packages/transducers/package.json
@@ -51,7 +51,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/trie/package.json b/packages/trie/package.json
index 747e8827cf..a2bb1074c7 100644
--- a/packages/trie/package.json
+++ b/packages/trie/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json
index 7fb60eab20..d84029e291 100644
--- a/packages/unionstruct/package.json
+++ b/packages/unionstruct/package.json
@@ -37,7 +37,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/units/package.json b/packages/units/package.json
index 0e6570b3e8..92e770c7d9 100644
--- a/packages/units/package.json
+++ b/packages/units/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/uuid/package.json b/packages/uuid/package.json
index 7ed958495d..550dbaf54a 100644
--- a/packages/uuid/package.json
+++ b/packages/uuid/package.json
@@ -41,7 +41,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/vclock/package.json b/packages/vclock/package.json
index 16408dd948..dd8063aec0 100644
--- a/packages/vclock/package.json
+++ b/packages/vclock/package.json
@@ -40,7 +40,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/vector-pools/package.json b/packages/vector-pools/package.json
index bc77f6fab7..8865a32f81 100644
--- a/packages/vector-pools/package.json
+++ b/packages/vector-pools/package.json
@@ -47,7 +47,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/vectors/package.json b/packages/vectors/package.json
index f5f1ab482e..d1dbae11ad 100644
--- a/packages/vectors/package.json
+++ b/packages/vectors/package.json
@@ -49,7 +49,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/viz/package.json b/packages/viz/package.json
index 8b4f6dd4db..bd1ead7bc1 100644
--- a/packages/viz/package.json
+++ b/packages/viz/package.json
@@ -53,7 +53,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/date": "^2.7.28",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/wasm-api-bindgen/package.json b/packages/wasm-api-bindgen/package.json
index a401cc00b7..5ed46842e2 100644
--- a/packages/wasm-api-bindgen/package.json
+++ b/packages/wasm-api-bindgen/package.json
@@ -54,7 +54,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/wasm-api-canvas/package.json b/packages/wasm-api-canvas/package.json
index 2b3d8b449d..1189c4e002 100644
--- a/packages/wasm-api-canvas/package.json
+++ b/packages/wasm-api-canvas/package.json
@@ -44,7 +44,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/wasm-api-bindgen": "^0.7.1",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/wasm-api-dom/package.json b/packages/wasm-api-dom/package.json
index 82b86f9936..530b7ab0cb 100644
--- a/packages/wasm-api-dom/package.json
+++ b/packages/wasm-api-dom/package.json
@@ -49,7 +49,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/wasm-api-bindgen": "^0.7.1",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/wasm-api-schedule/package.json b/packages/wasm-api-schedule/package.json
index 46804ef078..d08b98f3ef 100644
--- a/packages/wasm-api-schedule/package.json
+++ b/packages/wasm-api-schedule/package.json
@@ -43,7 +43,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/wasm-api-bindgen": "^0.7.1",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/wasm-api-webgl/package.json b/packages/wasm-api-webgl/package.json
index dee1422f9b..8ee95ae5db 100644
--- a/packages/wasm-api-webgl/package.json
+++ b/packages/wasm-api-webgl/package.json
@@ -46,7 +46,7 @@
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
 		"@thi.ng/wasm-api-bindgen": "^0.7.1",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/wasm-api/package.json b/packages/wasm-api/package.json
index e5add29e18..5b31a45785 100644
--- a/packages/wasm-api/package.json
+++ b/packages/wasm-api/package.json
@@ -47,7 +47,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/webgl-msdf/package.json b/packages/webgl-msdf/package.json
index 9ff3c39e9a..06204abd12 100644
--- a/packages/webgl-msdf/package.json
+++ b/packages/webgl-msdf/package.json
@@ -45,7 +45,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/webgl-shadertoy/package.json b/packages/webgl-shadertoy/package.json
index 7325f1dfb5..35f4fa88ca 100644
--- a/packages/webgl-shadertoy/package.json
+++ b/packages/webgl-shadertoy/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/webgl/package.json b/packages/webgl/package.json
index 89ebf2d36a..fe37b28238 100644
--- a/packages/webgl/package.json
+++ b/packages/webgl/package.json
@@ -59,7 +59,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/packages/zipper/package.json b/packages/zipper/package.json
index 987e2069d7..e2bd760684 100644
--- a/packages/zipper/package.json
+++ b/packages/zipper/package.json
@@ -43,7 +43,7 @@
 	},
 	"devDependencies": {
 		"@microsoft/api-extractor": "^7.47.9",
-		"esbuild": "^0.23.1",
+		"esbuild": "^0.24.0",
 		"typedoc": "^0.26.7",
 		"typescript": "^5.6.2"
 	},
diff --git a/yarn.lock b/yarn.lock
index 039a9cff06..95da383433 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -30,9 +30,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/aix-ppc64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/aix-ppc64@npm:0.23.1"
+"@esbuild/aix-ppc64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/aix-ppc64@npm:0.24.0"
   conditions: os=aix & cpu=ppc64
   languageName: node
   linkType: hard
@@ -44,9 +44,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/android-arm64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/android-arm64@npm:0.23.1"
+"@esbuild/android-arm64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/android-arm64@npm:0.24.0"
   conditions: os=android & cpu=arm64
   languageName: node
   linkType: hard
@@ -58,9 +58,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/android-arm@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/android-arm@npm:0.23.1"
+"@esbuild/android-arm@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/android-arm@npm:0.24.0"
   conditions: os=android & cpu=arm
   languageName: node
   linkType: hard
@@ -72,9 +72,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/android-x64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/android-x64@npm:0.23.1"
+"@esbuild/android-x64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/android-x64@npm:0.24.0"
   conditions: os=android & cpu=x64
   languageName: node
   linkType: hard
@@ -86,9 +86,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/darwin-arm64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/darwin-arm64@npm:0.23.1"
+"@esbuild/darwin-arm64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/darwin-arm64@npm:0.24.0"
   conditions: os=darwin & cpu=arm64
   languageName: node
   linkType: hard
@@ -100,9 +100,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/darwin-x64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/darwin-x64@npm:0.23.1"
+"@esbuild/darwin-x64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/darwin-x64@npm:0.24.0"
   conditions: os=darwin & cpu=x64
   languageName: node
   linkType: hard
@@ -114,9 +114,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/freebsd-arm64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/freebsd-arm64@npm:0.23.1"
+"@esbuild/freebsd-arm64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/freebsd-arm64@npm:0.24.0"
   conditions: os=freebsd & cpu=arm64
   languageName: node
   linkType: hard
@@ -128,9 +128,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/freebsd-x64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/freebsd-x64@npm:0.23.1"
+"@esbuild/freebsd-x64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/freebsd-x64@npm:0.24.0"
   conditions: os=freebsd & cpu=x64
   languageName: node
   linkType: hard
@@ -142,9 +142,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-arm64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/linux-arm64@npm:0.23.1"
+"@esbuild/linux-arm64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/linux-arm64@npm:0.24.0"
   conditions: os=linux & cpu=arm64
   languageName: node
   linkType: hard
@@ -156,9 +156,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-arm@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/linux-arm@npm:0.23.1"
+"@esbuild/linux-arm@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/linux-arm@npm:0.24.0"
   conditions: os=linux & cpu=arm
   languageName: node
   linkType: hard
@@ -170,9 +170,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-ia32@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/linux-ia32@npm:0.23.1"
+"@esbuild/linux-ia32@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/linux-ia32@npm:0.24.0"
   conditions: os=linux & cpu=ia32
   languageName: node
   linkType: hard
@@ -184,9 +184,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-loong64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/linux-loong64@npm:0.23.1"
+"@esbuild/linux-loong64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/linux-loong64@npm:0.24.0"
   conditions: os=linux & cpu=loong64
   languageName: node
   linkType: hard
@@ -198,9 +198,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-mips64el@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/linux-mips64el@npm:0.23.1"
+"@esbuild/linux-mips64el@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/linux-mips64el@npm:0.24.0"
   conditions: os=linux & cpu=mips64el
   languageName: node
   linkType: hard
@@ -212,9 +212,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-ppc64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/linux-ppc64@npm:0.23.1"
+"@esbuild/linux-ppc64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/linux-ppc64@npm:0.24.0"
   conditions: os=linux & cpu=ppc64
   languageName: node
   linkType: hard
@@ -226,9 +226,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-riscv64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/linux-riscv64@npm:0.23.1"
+"@esbuild/linux-riscv64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/linux-riscv64@npm:0.24.0"
   conditions: os=linux & cpu=riscv64
   languageName: node
   linkType: hard
@@ -240,9 +240,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-s390x@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/linux-s390x@npm:0.23.1"
+"@esbuild/linux-s390x@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/linux-s390x@npm:0.24.0"
   conditions: os=linux & cpu=s390x
   languageName: node
   linkType: hard
@@ -254,9 +254,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-x64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/linux-x64@npm:0.23.1"
+"@esbuild/linux-x64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/linux-x64@npm:0.24.0"
   conditions: os=linux & cpu=x64
   languageName: node
   linkType: hard
@@ -268,16 +268,16 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/netbsd-x64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/netbsd-x64@npm:0.23.1"
+"@esbuild/netbsd-x64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/netbsd-x64@npm:0.24.0"
   conditions: os=netbsd & cpu=x64
   languageName: node
   linkType: hard
 
-"@esbuild/openbsd-arm64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/openbsd-arm64@npm:0.23.1"
+"@esbuild/openbsd-arm64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/openbsd-arm64@npm:0.24.0"
   conditions: os=openbsd & cpu=arm64
   languageName: node
   linkType: hard
@@ -289,9 +289,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/openbsd-x64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/openbsd-x64@npm:0.23.1"
+"@esbuild/openbsd-x64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/openbsd-x64@npm:0.24.0"
   conditions: os=openbsd & cpu=x64
   languageName: node
   linkType: hard
@@ -303,9 +303,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/sunos-x64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/sunos-x64@npm:0.23.1"
+"@esbuild/sunos-x64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/sunos-x64@npm:0.24.0"
   conditions: os=sunos & cpu=x64
   languageName: node
   linkType: hard
@@ -317,9 +317,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/win32-arm64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/win32-arm64@npm:0.23.1"
+"@esbuild/win32-arm64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/win32-arm64@npm:0.24.0"
   conditions: os=win32 & cpu=arm64
   languageName: node
   linkType: hard
@@ -331,9 +331,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/win32-ia32@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/win32-ia32@npm:0.23.1"
+"@esbuild/win32-ia32@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/win32-ia32@npm:0.24.0"
   conditions: os=win32 & cpu=ia32
   languageName: node
   linkType: hard
@@ -345,9 +345,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/win32-x64@npm:0.23.1":
-  version: 0.23.1
-  resolution: "@esbuild/win32-x64@npm:0.23.1"
+"@esbuild/win32-x64@npm:0.24.0":
+  version: 0.24.0
+  resolution: "@esbuild/win32-x64@npm:0.24.0"
   conditions: os=win32 & cpu=x64
   languageName: node
   linkType: hard
@@ -365,7 +365,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -385,7 +385,7 @@ __metadata:
     "@thi.ng/transducers-stats": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -397,7 +397,7 @@ __metadata:
     "@thi.ng/hdom": "workspace:^"
     "@thi.ng/interceptors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -414,7 +414,7 @@ __metadata:
     "@thi.ng/strings": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -430,7 +430,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-binary": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -448,7 +448,7 @@ __metadata:
     "@thi.ng/rdom-forms": "workspace:^"
     "@thi.ng/rstream": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -469,7 +469,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -489,7 +489,7 @@ __metadata:
     "@thi.ng/transducers-hdom": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -508,7 +508,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -521,7 +521,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-binary": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -538,7 +538,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -559,7 +559,7 @@ __metadata:
     "@thi.ng/rstream-dot": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -594,10 +594,10 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
-    "@types/express": "npm:^4.17.21"
+    "@types/express": "npm:^5.0.0"
     express: "npm:^4.21.0"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -616,7 +616,7 @@ __metadata:
     "@thi.ng/transducers-hdom": "workspace:^"
     "@thi.ng/transducers-stats": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -634,7 +634,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-async": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -646,7 +646,7 @@ __metadata:
     "@thi.ng/atom": "workspace:^"
     "@thi.ng/hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -671,7 +671,7 @@ __metadata:
     "@thi.ng/strings": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -687,7 +687,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -709,7 +709,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -729,7 +729,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -743,7 +743,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/rstream": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -758,7 +758,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -776,7 +776,7 @@ __metadata:
     "@thi.ng/poisson": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -788,7 +788,7 @@ __metadata:
     "@thi.ng/geom": "workspace:^"
     "@thi.ng/hiccup-canvas": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -806,7 +806,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -819,7 +819,7 @@ __metadata:
     "@thi.ng/hiccup-canvas": "workspace:^"
     "@thi.ng/meta-css": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -833,7 +833,7 @@ __metadata:
     "@thi.ng/hiccup-canvas": "workspace:^"
     "@thi.ng/rstream": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -846,7 +846,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -867,7 +867,7 @@ __metadata:
     "@thi.ng/transducers-hdom": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -884,7 +884,7 @@ __metadata:
     "@thi.ng/transducers-hdom": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -899,7 +899,7 @@ __metadata:
     "@thi.ng/matrices": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -912,7 +912,7 @@ __metadata:
     "@thi.ng/meta-css": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -931,7 +931,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -948,7 +948,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -964,7 +964,7 @@ __metadata:
     "@thi.ng/meta-css": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -984,7 +984,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1004,7 +1004,7 @@ __metadata:
     "@thi.ng/vectors": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1019,7 +1019,7 @@ __metadata:
     "@thi.ng/meta-css": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1035,7 +1035,7 @@ __metadata:
     "@thi.ng/transducers-hdom": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1052,7 +1052,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1065,7 +1065,7 @@ __metadata:
     "@thi.ng/grid-iterators": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1083,7 +1083,7 @@ __metadata:
   dependencies:
     "@thi.ng/hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1098,7 +1098,7 @@ __metadata:
     "@thi.ng/strings": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1113,7 +1113,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1128,7 +1128,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1144,7 +1144,7 @@ __metadata:
     "@thi.ng/transducers-hdom": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1161,7 +1161,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1183,7 +1183,7 @@ __metadata:
     "@thi.ng/transducers-hdom": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1200,7 +1200,7 @@ __metadata:
     "@thi.ng/paths": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1215,7 +1215,7 @@ __metadata:
     "@thi.ng/interceptors": "workspace:^"
     "@thi.ng/paths": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1226,7 +1226,7 @@ __metadata:
     "@thi.ng/atom": "workspace:^"
     "@thi.ng/hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1240,7 +1240,7 @@ __metadata:
     "@thi.ng/paths": "workspace:^"
     "@thi.ng/strings": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1250,7 +1250,7 @@ __metadata:
   dependencies:
     "@thi.ng/hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1264,7 +1264,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1275,7 +1275,7 @@ __metadata:
     "@thi.ng/hdom": "workspace:^"
     "@thi.ng/paths": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1285,7 +1285,7 @@ __metadata:
   dependencies:
     "@thi.ng/hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1295,7 +1295,7 @@ __metadata:
   dependencies:
     "@thi.ng/hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1307,7 +1307,7 @@ __metadata:
     "@thi.ng/hdom": "workspace:^"
     "@thi.ng/paths": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1318,7 +1318,7 @@ __metadata:
     "@thi.ng/hdom": "workspace:^"
     "@thi.ng/hdom-components": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1330,7 +1330,7 @@ __metadata:
     "@thi.ng/hdom": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1349,7 +1349,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1366,7 +1366,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1380,7 +1380,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1394,7 +1394,7 @@ __metadata:
     "@thi.ng/hdom-components": "workspace:^"
     "@thi.ng/hiccup": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1410,7 +1410,7 @@ __metadata:
     "@thi.ng/pixel": "workspace:^"
     "@thi.ng/random": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1424,7 +1424,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/rstream-gestures": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1450,7 +1450,7 @@ __metadata:
     "@thi.ng/transducers-stats": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1463,7 +1463,7 @@ __metadata:
     "@thi.ng/hdom": "workspace:^"
     "@thi.ng/interceptors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1476,7 +1476,7 @@ __metadata:
     "@thi.ng/interceptors": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1493,7 +1493,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1504,7 +1504,7 @@ __metadata:
     "@thi.ng/hdom": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1520,7 +1520,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1535,7 +1535,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1555,7 +1555,7 @@ __metadata:
     "@thi.ng/sexpr": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1569,7 +1569,7 @@ __metadata:
     "@thi.ng/hdom": "workspace:^"
     "@thi.ng/strings": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1588,7 +1588,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1603,7 +1603,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1623,7 +1623,7 @@ __metadata:
     "@thi.ng/strings": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1636,7 +1636,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1651,7 +1651,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1689,7 +1689,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-binary": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1701,7 +1701,7 @@ __metadata:
     "@thi.ng/pixel": "workspace:^"
     "@thi.ng/porter-duff": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1718,7 +1718,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/strings": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1730,7 +1730,7 @@ __metadata:
     "@thi.ng/pixel": "workspace:^"
     "@thi.ng/pixel-dither": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1749,7 +1749,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/rstream": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1763,7 +1763,7 @@ __metadata:
     "@thi.ng/pixel-dither": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1775,7 +1775,7 @@ __metadata:
     "@thi.ng/pixel": "workspace:^"
     "@thi.ng/pixel-convolve": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1795,7 +1795,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1811,7 +1811,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1834,7 +1834,7 @@ __metadata:
     "@thi.ng/strings": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1860,7 +1860,7 @@ __metadata:
     "@thi.ng/poisson": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1874,7 +1874,7 @@ __metadata:
     "@thi.ng/pixel": "workspace:^"
     "@thi.ng/poisson": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1888,7 +1888,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1909,7 +1909,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1921,7 +1921,7 @@ __metadata:
     "@thi.ng/pixel": "workspace:^"
     "@thi.ng/porter-duff": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1940,7 +1940,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-binary": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1956,7 +1956,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1971,7 +1971,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/rstream": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -1988,7 +1988,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2003,7 +2003,7 @@ __metadata:
     "@thi.ng/rasterize": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2016,7 +2016,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/transducers-async": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2034,7 +2034,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2050,7 +2050,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2066,7 +2066,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2081,7 +2081,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2098,7 +2098,7 @@ __metadata:
     "@thi.ng/rdom-forms": "workspace:^"
     "@thi.ng/rstream": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2116,7 +2116,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-fsm": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2131,7 +2131,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/rstream": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2143,7 +2143,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2159,7 +2159,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2175,7 +2175,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2193,7 +2193,7 @@ __metadata:
     "@thi.ng/router": "workspace:^"
     "@thi.ng/rstream": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2212,7 +2212,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2228,7 +2228,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2242,7 +2242,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2264,7 +2264,7 @@ __metadata:
     "@thi.ng/strings": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2284,7 +2284,7 @@ __metadata:
     "@thi.ng/strings": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2304,7 +2304,7 @@ __metadata:
     "@thi.ng/transducers-hdom": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2319,7 +2319,7 @@ __metadata:
     "@thi.ng/interceptors": "workspace:^"
     "@thi.ng/router": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2337,7 +2337,7 @@ __metadata:
     "@thi.ng/rstream-graph": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2351,7 +2351,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2373,7 +2373,7 @@ __metadata:
     "@thi.ng/rstream-graph": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2385,7 +2385,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2410,7 +2410,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2422,7 +2422,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2443,7 +2443,7 @@ __metadata:
     "@thi.ng/system": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2461,7 +2461,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2478,7 +2478,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2491,7 +2491,7 @@ __metadata:
     "@thi.ng/shader-ast-js": "workspace:^"
     "@thi.ng/shader-ast-stdlib": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2506,7 +2506,7 @@ __metadata:
     "@thi.ng/webgl": "workspace:^"
     "@thi.ng/webgl-shadertoy": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2523,7 +2523,7 @@ __metadata:
     "@thi.ng/webgl": "workspace:^"
     "@thi.ng/webgl-shadertoy": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2537,7 +2537,7 @@ __metadata:
     "@thi.ng/shader-ast-stdlib": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2551,7 +2551,7 @@ __metadata:
     "@thi.ng/shader-ast-stdlib": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2565,7 +2565,7 @@ __metadata:
     "@thi.ng/shader-ast-stdlib": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2580,7 +2580,7 @@ __metadata:
     "@thi.ng/shader-ast-js": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2600,7 +2600,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-stats": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2621,7 +2621,7 @@ __metadata:
     "@thi.ng/vectors": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2641,7 +2641,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2659,7 +2659,7 @@ __metadata:
     "@thi.ng/vectors": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2674,7 +2674,7 @@ __metadata:
     "@thi.ng/strings": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2690,7 +2690,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2702,7 +2702,7 @@ __metadata:
     "@thi.ng/poisson": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2714,7 +2714,7 @@ __metadata:
     "@thi.ng/math": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2727,7 +2727,7 @@ __metadata:
     "@thi.ng/strings": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2744,7 +2744,7 @@ __metadata:
     "@thi.ng/sax": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2761,7 +2761,7 @@ __metadata:
     "@thi.ng/interceptors": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2776,7 +2776,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2788,7 +2788,7 @@ __metadata:
     "@thi.ng/text-canvas": "workspace:^"
     "@thi.ng/text-format": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2804,7 +2804,7 @@ __metadata:
     "@thi.ng/text-format": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2823,7 +2823,7 @@ __metadata:
     "@thi.ng/rstream": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2837,7 +2837,7 @@ __metadata:
     "@thi.ng/rdom": "workspace:^"
     "@thi.ng/rstream": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2850,7 +2850,7 @@ __metadata:
     "@thi.ng/hdom": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2889,7 +2889,7 @@ __metadata:
     "@thi.ng/units": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2901,7 +2901,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2921,7 +2921,7 @@ __metadata:
     "@thi.ng/rstream-query": "workspace:^"
     "@thi.ng/transducers": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2936,7 +2936,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/vectors": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2960,7 +2960,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/viz": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -2981,7 +2981,7 @@ __metadata:
     "@thi.ng/vectors": "workspace:^"
     "@thi.ng/viz": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3001,7 +3001,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3017,7 +3017,7 @@ __metadata:
     "@thi.ng/vectors": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3035,7 +3035,7 @@ __metadata:
     "@thi.ng/shader-ast": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3050,7 +3050,7 @@ __metadata:
     "@thi.ng/vectors": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3064,7 +3064,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3081,7 +3081,7 @@ __metadata:
     "@thi.ng/vectors": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3103,7 +3103,7 @@ __metadata:
     "@thi.ng/webgl": "workspace:^"
     "@thi.ng/webgl-msdf": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3117,7 +3117,7 @@ __metadata:
     "@thi.ng/shader-ast-stdlib": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3130,7 +3130,7 @@ __metadata:
     "@thi.ng/webgl": "workspace:^"
     "@thi.ng/webgl-shadertoy": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3151,7 +3151,7 @@ __metadata:
     "@thi.ng/vectors": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3167,7 +3167,7 @@ __metadata:
     "@thi.ng/shader-ast-stdlib": "workspace:^"
     "@thi.ng/webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3182,7 +3182,7 @@ __metadata:
     "@thi.ng/transducers-binary": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3200,7 +3200,7 @@ __metadata:
     "@thi.ng/transducers": "workspace:^"
     "@thi.ng/transducers-hdom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3215,7 +3215,7 @@ __metadata:
     "@thi.ng/wasm-api": "workspace:^"
     "@thi.ng/wasm-api-dom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3228,7 +3228,7 @@ __metadata:
     "@thi.ng/wasm-api-canvas": "workspace:^"
     "@thi.ng/wasm-api-dom": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3241,7 +3241,7 @@ __metadata:
     "@thi.ng/wasm-api-dom": "workspace:^"
     "@thi.ng/wasm-api-schedule": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3256,7 +3256,7 @@ __metadata:
     "@thi.ng/wasm-api-dom": "workspace:^"
     "@thi.ng/wasm-api-schedule": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3272,7 +3272,7 @@ __metadata:
     "@thi.ng/wasm-api-schedule": "workspace:^"
     "@thi.ng/wasm-api-webgl": "workspace:^"
     typescript: "npm:^5.6.2"
-    vite: "npm:^5.4.7"
+    vite: "npm:^5.4.8"
   languageName: unknown
   linkType: soft
 
@@ -3510,9 +3510,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@microsoft/api-documenter@npm:^7.25.14":
-  version: 7.25.14
-  resolution: "@microsoft/api-documenter@npm:7.25.14"
+"@microsoft/api-documenter@npm:^7.25.17":
+  version: 7.25.17
+  resolution: "@microsoft/api-documenter@npm:7.25.17"
   dependencies:
     "@microsoft/api-extractor-model": "npm:7.29.8"
     "@microsoft/tsdoc": "npm:~0.15.0"
@@ -3523,7 +3523,7 @@ __metadata:
     resolve: "npm:~1.22.1"
   bin:
     api-documenter: bin/api-documenter
-  checksum: 10/7ab46b4e8f1d84220d599339e87a518fcd95cc87fa402e39667dd2fe73a3b6f8814f22bb7f374ccb7b0a87982a6a77b96f4061c4d338ef7eee3112dd7a89700a
+  checksum: 10/60f7fc2d6a97bcb0a91252f9d479c68a9f1bcc00359c661faf5a13839bfa30d3f92ded45cd0d7534aa93e0ccc5c25881e4260dc04866b01f96cff1fd53f5ab45
   languageName: node
   linkType: hard
 
@@ -3971,7 +3971,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/sparse": "npm:^0.3.133"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -3982,7 +3982,7 @@ __metadata:
   resolution: "@thi.ng/api@workspace:packages/api"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -3999,7 +3999,7 @@ __metadata:
     "@thi.ng/logger": "npm:^3.0.20"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/text-format": "npm:^2.2.13"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4016,7 +4016,7 @@ __metadata:
     "@thi.ng/equiv": "npm:^2.1.66"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/random": "npm:^4.0.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4035,7 +4035,7 @@ __metadata:
     "@thi.ng/equiv": "npm:^2.1.66"
     "@thi.ng/object-utils": "npm:^1.1.3"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     tslib: "npm:^2.7.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -4051,7 +4051,7 @@ __metadata:
     "@thi.ng/equiv": "npm:^2.1.66"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/paths": "npm:^5.1.90"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     tslib: "npm:^2.7.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -4073,7 +4073,7 @@ __metadata:
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/units": "npm:^0.5.8"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     serialport: "npm:^12.0.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -4085,7 +4085,7 @@ __metadata:
   resolution: "@thi.ng/base-n@workspace:packages/base-n"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4097,8 +4097,8 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
-    "@types/node": "npm:^22.5.5"
-    esbuild: "npm:^0.23.1"
+    "@types/node": "npm:^22.7.4"
+    esbuild: "npm:^0.24.0"
     tools: "workspace:^"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -4117,7 +4117,7 @@ __metadata:
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/transducers-binary": "npm:^2.1.135"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4128,7 +4128,7 @@ __metadata:
   resolution: "@thi.ng/bidir-index@workspace:packages/bidir-index"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4140,7 +4140,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4155,7 +4155,7 @@ __metadata:
     "@thi.ng/binary": "npm:^3.4.33"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/strings": "npm:^3.8.5"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4167,7 +4167,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4183,7 +4183,7 @@ __metadata:
     "@thi.ng/canvas": "npm:^0.5.3"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/math": "npm:^5.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     tools: "workspace:^"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -4203,7 +4203,7 @@ __metadata:
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/timestep": "npm:^0.5.64"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4216,7 +4216,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4229,7 +4229,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/dcons": "npm:^3.2.128"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4240,7 +4240,7 @@ __metadata:
   resolution: "@thi.ng/canvas@workspace:packages/canvas"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     tools: "workspace:^"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -4258,7 +4258,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4269,8 +4269,8 @@ __metadata:
   resolution: "@thi.ng/checks@workspace:packages/checks"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    "@types/node": "npm:^22.5.5"
-    esbuild: "npm:^0.23.1"
+    "@types/node": "npm:^22.7.4"
+    esbuild: "npm:^0.24.0"
     tslib: "npm:^2.7.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -4288,7 +4288,7 @@ __metadata:
     "@thi.ng/color": "npm:^5.7.5"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/hex": "npm:^2.3.54"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4312,7 +4312,7 @@ __metadata:
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4331,7 +4331,7 @@ __metadata:
     "@thi.ng/text-canvas": "npm:^3.0.38"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4343,7 +4343,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4358,7 +4358,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4371,7 +4371,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4386,7 +4386,7 @@ __metadata:
     "@thi.ng/buffers": "npm:^0.1.13"
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4401,7 +4401,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4415,7 +4415,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/strings": "npm:^3.8.5"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4433,7 +4433,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4447,7 +4447,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/logger": "npm:^3.0.20"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4461,7 +4461,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/dgraph": "npm:^2.1.134"
     "@thi.ng/dot": "npm:^2.1.84"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4477,7 +4477,7 @@ __metadata:
     "@thi.ng/equiv": "npm:^2.1.66"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4500,7 +4500,7 @@ __metadata:
   resolution: "@thi.ng/disjoint-set@workspace:packages/disjoint-set"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4513,7 +4513,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/pixel": "npm:^7.3.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4530,7 +4530,7 @@ __metadata:
     "@thi.ng/heaps": "npm:^2.1.82"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4544,7 +4544,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/mime": "npm:^2.6.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4556,7 +4556,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4569,7 +4569,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/checks": "npm:^3.6.12"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4585,7 +4585,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/transducers-binary": "npm:^2.1.135"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4602,7 +4602,7 @@ __metadata:
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4614,7 +4614,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4627,7 +4627,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4649,7 +4649,7 @@ __metadata:
     "@thi.ng/logger": "npm:^3.0.20"
     "@thi.ng/malloc": "npm:^6.1.91"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     tslib: "npm:^2.7.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -4671,7 +4671,7 @@ __metadata:
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers-binary": "npm:^2.1.135"
     "@thi.ng/trie": "npm:^1.1.3"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4682,7 +4682,7 @@ __metadata:
   resolution: "@thi.ng/emoji@workspace:packages/emoji"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4693,7 +4693,7 @@ __metadata:
   resolution: "@thi.ng/equiv@workspace:packages/equiv"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4704,8 +4704,8 @@ __metadata:
   resolution: "@thi.ng/errors@workspace:packages/errors"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    "@types/node": "npm:^22.5.5"
-    esbuild: "npm:^0.23.1"
+    "@types/node": "npm:^22.7.4"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4716,8 +4716,8 @@ __metadata:
   resolution: "@thi.ng/expose@workspace:packages/expose"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    "@types/node": "npm:^22.5.5"
-    esbuild: "npm:^0.23.1"
+    "@types/node": "npm:^22.7.4"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4737,7 +4737,7 @@ __metadata:
     "@thi.ng/idgen": "npm:^2.2.50"
     "@thi.ng/logger": "npm:^3.0.20"
     "@thi.ng/random": "npm:^4.0.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4753,7 +4753,7 @@ __metadata:
     "@thi.ng/hex": "npm:^2.3.54"
     "@thi.ng/logger": "npm:^3.0.20"
     "@thi.ng/random": "npm:^4.0.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4771,7 +4771,7 @@ __metadata:
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/text-canvas": "npm:^3.0.38"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4784,7 +4784,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/math": "npm:^5.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4806,7 +4806,7 @@ __metadata:
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4821,7 +4821,7 @@ __metadata:
     "@thi.ng/geom-resample": "npm:^3.0.14"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4843,7 +4843,7 @@ __metadata:
     "@thi.ng/geom-isec": "npm:^4.0.14"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4857,7 +4857,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/geom-isec": "npm:^4.0.14"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4872,7 +4872,7 @@ __metadata:
     "@thi.ng/geom-poly-utils": "npm:^3.0.14"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4886,7 +4886,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4906,7 +4906,7 @@ __metadata:
     "@thi.ng/object-utils": "npm:^1.1.3"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4919,7 +4919,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4933,7 +4933,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4948,7 +4948,7 @@ __metadata:
     "@thi.ng/geom-closest-point": "npm:^2.1.142"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4962,7 +4962,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4977,7 +4977,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -4994,7 +4994,7 @@ __metadata:
     "@thi.ng/geom-isec": "npm:^4.0.14"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5016,7 +5016,7 @@ __metadata:
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5033,7 +5033,7 @@ __metadata:
     "@thi.ng/geom-resample": "npm:^3.0.14"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5046,7 +5046,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5066,7 +5066,7 @@ __metadata:
     "@thi.ng/morton": "npm:^3.1.97"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5083,7 +5083,7 @@ __metadata:
     "@thi.ng/matrices": "npm:^2.4.14"
     "@thi.ng/pixel": "npm:^7.3.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5104,7 +5104,7 @@ __metadata:
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/quad-edge": "npm:^3.1.74"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5125,7 +5125,7 @@ __metadata:
     "@thi.ng/vector-pools": "npm:^3.2.14"
     "@thi.ng/vectors": "npm:^7.12.2"
     "@thi.ng/webgl": "npm:^6.9.17"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5163,7 +5163,7 @@ __metadata:
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5180,7 +5180,7 @@ __metadata:
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/zipper": "npm:^2.1.111"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5199,7 +5199,7 @@ __metadata:
     "@thi.ng/morton": "npm:^3.1.97"
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5215,8 +5215,8 @@ __metadata:
     "@thi.ng/hiccup": "npm:^5.2.13"
     "@thi.ng/hiccup-css": "npm:^2.7.24"
     "@thi.ng/strings": "npm:^3.8.5"
-    "@types/node": "npm:^22.5.5"
-    esbuild: "npm:^0.23.1"
+    "@types/node": "npm:^22.7.4"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   bin:
@@ -5235,7 +5235,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/hdom": "npm:^9.4.46"
     "@thi.ng/hiccup-canvas": "npm:^3.1.18"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5252,7 +5252,7 @@ __metadata:
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/transducers-stats": "npm:^2.1.133"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5266,7 +5266,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/hdom": "npm:^9.4.46"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5286,7 +5286,7 @@ __metadata:
     "@thi.ng/hiccup": "npm:^5.2.13"
     "@thi.ng/logger": "npm:^3.0.20"
     "@thi.ng/prefixes": "npm:^2.3.27"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5300,7 +5300,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/compare": "npm:^2.4.2"
     "@thi.ng/equiv": "npm:^2.1.66"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5311,7 +5311,7 @@ __metadata:
   resolution: "@thi.ng/hex@workspace:packages/hex"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5329,7 +5329,7 @@ __metadata:
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/pixel": "npm:^7.3.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5341,7 +5341,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/hiccup": "npm:^5.2.13"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5356,7 +5356,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5371,7 +5371,7 @@ __metadata:
     "@thi.ng/defmulti": "npm:^3.0.48"
     "@thi.ng/parse": "npm:^2.4.54"
     "@thi.ng/strings": "npm:^3.8.5"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5383,7 +5383,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5405,7 +5405,7 @@ __metadata:
     "@thi.ng/parse": "npm:^2.4.54"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/text-canvas": "npm:^3.0.38"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5420,7 +5420,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/color": "npm:^5.7.5"
     "@thi.ng/prefixes": "npm:^2.3.27"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5436,7 +5436,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/strings": "npm:^3.8.5"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5449,7 +5449,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     tslib: "npm:^2.7.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -5467,7 +5467,7 @@ __metadata:
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5491,7 +5491,7 @@ __metadata:
     "@thi.ng/pixel-dither": "npm:^1.1.144"
     "@thi.ng/prefixes": "npm:^2.3.27"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     sharp: "npm:^0.33.5"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -5512,7 +5512,7 @@ __metadata:
     "@thi.ng/ramp": "npm:^3.3.2"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5529,7 +5529,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/logger": "npm:^3.0.20"
     "@thi.ng/paths": "npm:^5.1.90"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5544,7 +5544,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/dlogic": "npm:^2.1.77"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5560,7 +5560,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5575,7 +5575,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/strings": "npm:^3.8.5"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   bin:
@@ -5591,7 +5591,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/arrays": "npm:^2.10.1"
     "@thi.ng/checks": "npm:^3.6.12"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5605,7 +5605,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/transducers-binary": "npm:^2.1.135"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5616,7 +5616,7 @@ __metadata:
   resolution: "@thi.ng/logger@workspace:packages/logger"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5628,7 +5628,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5646,7 +5646,7 @@ __metadata:
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5661,7 +5661,7 @@ __metadata:
     "@thi.ng/binary": "npm:^3.4.33"
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5678,7 +5678,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5690,7 +5690,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5705,7 +5705,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5717,7 +5717,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5742,7 +5742,7 @@ __metadata:
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/text-format": "npm:^2.2.13"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   bin:
@@ -5756,7 +5756,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5771,7 +5771,7 @@ __metadata:
     "@thi.ng/binary": "npm:^3.4.33"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/math": "npm:^5.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5785,7 +5785,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/strings": "npm:^3.8.5"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5798,7 +5798,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/checks": "npm:^3.6.12"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5814,7 +5814,7 @@ __metadata:
     "@thi.ng/compare": "npm:^2.4.2"
     "@thi.ng/defmulti": "npm:^3.0.48"
     "@thi.ng/equiv": "npm:^2.1.66"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5830,7 +5830,7 @@ __metadata:
     "@thi.ng/defmulti": "npm:^3.0.48"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/strings": "npm:^3.8.5"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5844,7 +5844,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5860,7 +5860,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/pixel": "npm:^7.3.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5874,7 +5874,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/pixel": "npm:^7.3.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5888,7 +5888,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/k-means": "npm:^0.7.8"
     "@thi.ng/pixel": "npm:^7.3.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5901,7 +5901,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/pixel": "npm:^7.3.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     geotiff: "npm:2.1.3"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -5916,7 +5916,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/pixel": "npm:^7.3.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5929,7 +5929,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/pixel": "npm:^7.3.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -5946,7 +5946,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/porter-duff": "npm:^2.1.88"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     tslib: "npm:^2.7.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -5965,7 +5965,7 @@ __metadata:
     "@thi.ng/file-io": "npm:^2.1.12"
     "@thi.ng/logger": "npm:^3.0.20"
     "@thi.ng/pointfree": "npm:^3.1.91"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     pegjs: "npm:0.11.0-master.b7b87ea"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -5984,7 +5984,7 @@ __metadata:
     "@thi.ng/compose": "npm:^3.0.13"
     "@thi.ng/equiv": "npm:^2.1.66"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6000,7 +6000,7 @@ __metadata:
     "@thi.ng/geom-accel": "npm:^4.1.7"
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6012,7 +6012,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6023,7 +6023,7 @@ __metadata:
   resolution: "@thi.ng/prefixes@workspace:packages/prefixes"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6043,7 +6043,7 @@ __metadata:
     "@thi.ng/parse": "npm:^2.4.54"
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/strings": "npm:^3.8.5"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6055,7 +6055,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6073,7 +6073,7 @@ __metadata:
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6087,7 +6087,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/base-n": "npm:^2.7.22"
     "@thi.ng/random": "npm:^4.0.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6100,7 +6100,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6113,7 +6113,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/bitstream": "npm:^2.4.2"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6131,7 +6131,7 @@ __metadata:
     "@thi.ng/porter-duff": "npm:^2.1.88"
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6149,7 +6149,7 @@ __metadata:
     "@thi.ng/object-utils": "npm:^1.1.3"
     "@thi.ng/rdom": "npm:^1.7.5"
     "@thi.ng/rstream": "npm:^9.0.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6167,7 +6167,7 @@ __metadata:
     "@thi.ng/rstream": "npm:^9.0.4"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6184,7 +6184,7 @@ __metadata:
     "@thi.ng/hiccup-html": "npm:^2.7.7"
     "@thi.ng/rdom": "npm:^1.7.5"
     "@thi.ng/rstream": "npm:^9.0.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6203,7 +6203,7 @@ __metadata:
     "@thi.ng/prefixes": "npm:^2.3.27"
     "@thi.ng/rstream": "npm:^9.0.4"
     "@thi.ng/strings": "npm:^3.8.5"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6218,7 +6218,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/paths": "npm:^5.1.90"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6231,7 +6231,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/bitstream": "npm:^2.4.2"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6246,7 +6246,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/equiv": "npm:^2.1.66"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     tslib: "npm:^2.7.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -6260,7 +6260,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/csp": "npm:^3.2.11"
     "@thi.ng/rstream": "npm:^9.0.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6274,7 +6274,7 @@ __metadata:
     "@thi.ng/rstream": "npm:^9.0.4"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6290,7 +6290,7 @@ __metadata:
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/rstream": "npm:^9.0.4"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6309,7 +6309,7 @@ __metadata:
     "@thi.ng/resolve-map": "npm:^7.1.83"
     "@thi.ng/rstream": "npm:^9.0.4"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6321,8 +6321,8 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/rstream": "npm:^9.0.4"
-    "@types/node": "npm:^22.5.5"
-    esbuild: "npm:^0.23.1"
+    "@types/node": "npm:^22.7.4"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6339,7 +6339,7 @@ __metadata:
     "@thi.ng/rstream": "npm:^9.0.4"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6360,7 +6360,7 @@ __metadata:
     "@thi.ng/rstream": "npm:^9.0.4"
     "@thi.ng/rstream-dot": "npm:^3.0.94"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6379,7 +6379,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/logger": "npm:^3.0.20"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6394,7 +6394,7 @@ __metadata:
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/transducers-fsm": "npm:^2.2.102"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6410,7 +6410,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/matrices": "npm:^2.4.14"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6423,7 +6423,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/checks": "npm:^3.6.12"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6437,7 +6437,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/defmulti": "npm:^3.0.48"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6452,7 +6452,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/shader-ast": "npm:^0.15.31"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6471,7 +6471,7 @@ __metadata:
     "@thi.ng/pixel": "npm:^7.3.4"
     "@thi.ng/shader-ast": "npm:^0.15.31"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6488,7 +6488,7 @@ __metadata:
     "@thi.ng/logger": "npm:^3.0.20"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/shader-ast": "npm:^0.15.31"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6501,7 +6501,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/shader-ast": "npm:^0.15.31"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6518,7 +6518,7 @@ __metadata:
     "@thi.ng/dgraph": "npm:^2.1.134"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/logger": "npm:^3.0.20"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6531,8 +6531,8 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/transducers-binary": "npm:^2.1.135"
-    assemblyscript: "npm:0.27.29"
-    esbuild: "npm:^0.23.1"
+    assemblyscript: "npm:0.27.30"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6549,7 +6549,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/transducers-binary": "npm:^2.1.135"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6566,7 +6566,7 @@ __metadata:
     "@thi.ng/compare": "npm:^2.4.2"
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6581,7 +6581,7 @@ __metadata:
     "@thi.ng/associative": "npm:^7.0.10"
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6595,7 +6595,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6610,7 +6610,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/hex": "npm:^2.3.54"
     "@thi.ng/memoize": "npm:^3.3.12"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6624,7 +6624,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/dgraph": "npm:^2.1.134"
     "@thi.ng/logger": "npm:^3.0.20"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6645,7 +6645,7 @@ __metadata:
     "@thi.ng/logger": "npm:^3.0.20"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   bin:
@@ -6667,7 +6667,7 @@ __metadata:
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/text-format": "npm:^2.2.13"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     tslib: "npm:^2.7.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
@@ -6682,7 +6682,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/hex": "npm:^2.3.54"
     "@thi.ng/memoize": "npm:^3.3.12"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6696,7 +6696,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6713,7 +6713,7 @@ __metadata:
     "@thi.ng/logger": "npm:^3.0.20"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6730,7 +6730,7 @@ __metadata:
     "@thi.ng/compose": "npm:^3.0.13"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6748,7 +6748,7 @@ __metadata:
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6761,7 +6761,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6775,7 +6775,7 @@ __metadata:
     "@thi.ng/hdom": "npm:^9.4.46"
     "@thi.ng/hiccup": "npm:^5.2.13"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6791,7 +6791,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/paths": "npm:^5.1.90"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6806,7 +6806,7 @@ __metadata:
     "@thi.ng/dcons": "npm:^3.2.128"
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6825,7 +6825,7 @@ __metadata:
     "@thi.ng/errors": "npm:^2.5.16"
     "@thi.ng/math": "npm:^5.11.10"
     "@thi.ng/random": "npm:^4.0.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6837,7 +6837,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6848,7 +6848,7 @@ __metadata:
   resolution: "@thi.ng/unionstruct@workspace:packages/unionstruct"
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6863,7 +6863,7 @@ __metadata:
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/equiv": "npm:^2.1.66"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6876,7 +6876,7 @@ __metadata:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/hex": "npm:^2.3.54"
     "@thi.ng/random": "npm:^4.0.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6888,7 +6888,7 @@ __metadata:
   dependencies:
     "@microsoft/api-extractor": "npm:^7.47.9"
     "@thi.ng/api": "npm:^8.11.10"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6907,7 +6907,7 @@ __metadata:
     "@thi.ng/malloc": "npm:^6.1.91"
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6928,7 +6928,7 @@ __metadata:
     "@thi.ng/random": "npm:^4.0.4"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6947,7 +6947,7 @@ __metadata:
     "@thi.ng/object-utils": "npm:^1.1.3"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/transducers": "npm:^9.2.4"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -6971,7 +6971,7 @@ __metadata:
     "@thi.ng/paths": "npm:^5.1.90"
     "@thi.ng/strings": "npm:^3.8.5"
     "@thi.ng/wasm-api": "npm:^2.0.1"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   bin:
@@ -6988,7 +6988,7 @@ __metadata:
     "@thi.ng/wasm-api": "npm:^2.0.1"
     "@thi.ng/wasm-api-bindgen": "npm:^0.7.1"
     "@thi.ng/wasm-api-dom": "npm:^1.0.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -7005,7 +7005,7 @@ __metadata:
     "@thi.ng/prefixes": "npm:^2.3.27"
     "@thi.ng/wasm-api": "npm:^2.0.1"
     "@thi.ng/wasm-api-bindgen": "npm:^0.7.1"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -7019,7 +7019,7 @@ __metadata:
     "@thi.ng/api": "npm:^8.11.10"
     "@thi.ng/wasm-api": "npm:^2.0.1"
     "@thi.ng/wasm-api-bindgen": "npm:^0.7.1"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -7036,7 +7036,7 @@ __metadata:
     "@thi.ng/wasm-api-bindgen": "npm:^0.7.1"
     "@thi.ng/wasm-api-dom": "npm:^1.0.2"
     "@thi.ng/webgl": "npm:^6.9.17"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -7054,7 +7054,7 @@ __metadata:
     "@thi.ng/hex": "npm:^2.3.54"
     "@thi.ng/idgen": "npm:^2.2.50"
     "@thi.ng/logger": "npm:^3.0.20"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -7071,7 +7071,7 @@ __metadata:
     "@thi.ng/vector-pools": "npm:^3.2.14"
     "@thi.ng/vectors": "npm:^7.12.2"
     "@thi.ng/webgl": "npm:^6.9.17"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -7086,7 +7086,7 @@ __metadata:
     "@thi.ng/shader-ast": "npm:^0.15.31"
     "@thi.ng/shader-ast-glsl": "npm:^0.4.139"
     "@thi.ng/webgl": "npm:^6.9.17"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -7113,7 +7113,7 @@ __metadata:
     "@thi.ng/transducers": "npm:^9.2.4"
     "@thi.ng/vector-pools": "npm:^3.2.14"
     "@thi.ng/vectors": "npm:^7.12.2"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -7128,7 +7128,7 @@ __metadata:
     "@thi.ng/arrays": "npm:^2.10.1"
     "@thi.ng/checks": "npm:^3.6.12"
     "@thi.ng/errors": "npm:^2.5.16"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     typedoc: "npm:^0.26.7"
     typescript: "npm:^5.6.2"
   languageName: unknown
@@ -7174,27 +7174,27 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/express-serve-static-core@npm:^4.17.33":
-  version: 4.19.5
-  resolution: "@types/express-serve-static-core@npm:4.19.5"
+"@types/express-serve-static-core@npm:^5.0.0":
+  version: 5.0.0
+  resolution: "@types/express-serve-static-core@npm:5.0.0"
   dependencies:
     "@types/node": "npm:*"
     "@types/qs": "npm:*"
     "@types/range-parser": "npm:*"
     "@types/send": "npm:*"
-  checksum: 10/49350c6315eeb7d640e13e6138ba6005121b3b610b1e25746fccd5b86b559be810a4ba384b9bd7eee288975b5bd8cf67c1772c646254b812beaa488774eb5513
+  checksum: 10/fc40cdeae61113d8b2335f4b0f9334a7a64388a0931f2e98f8fc9bdadd0b13b501a70da14c256ae4aa140db49bd2eff75a99a683266d561e62540784a61dc489
   languageName: node
   linkType: hard
 
-"@types/express@npm:^4.17.21":
-  version: 4.17.21
-  resolution: "@types/express@npm:4.17.21"
+"@types/express@npm:^5.0.0":
+  version: 5.0.0
+  resolution: "@types/express@npm:5.0.0"
   dependencies:
     "@types/body-parser": "npm:*"
-    "@types/express-serve-static-core": "npm:^4.17.33"
+    "@types/express-serve-static-core": "npm:^5.0.0"
     "@types/qs": "npm:*"
     "@types/serve-static": "npm:*"
-  checksum: 10/7a6d26cf6f43d3151caf4fec66ea11c9d23166e4f3102edfe45a94170654a54ea08cf3103d26b3928d7ebcc24162c90488e33986b7e3a5f8941225edd5eb18c7
+  checksum: 10/45b199ab669caa33e6badafeebf078e277ea95042309d325a04b1ec498f33d33fd5a4ae9c8e358342367b178fe454d7323c5dfc8002bf27070b210a2c6cc11f0
   languageName: node
   linkType: hard
 
@@ -7237,12 +7237,12 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/node@npm:^22.5.5":
-  version: 22.5.5
-  resolution: "@types/node@npm:22.5.5"
+"@types/node@npm:^22.7.4":
+  version: 22.7.4
+  resolution: "@types/node@npm:22.7.4"
   dependencies:
     undici-types: "npm:~6.19.2"
-  checksum: 10/172d02c8e6d921699edcf559c28b3805616bd6481af1b3cb0299f89ad9a6f33b71050434c06ce7b503166054a26275344187c443f99f745d0b12601372452f19
+  checksum: 10/19ddab80c4eba2253c855ed67c9bbc47417183049d01e59010a738bd80d47338bab79fd1f44ae51516bd63a1db4bf21ddb38b16bf6401a2e93252068ec52e88b
   languageName: node
   linkType: hard
 
@@ -7520,16 +7520,16 @@ __metadata:
   languageName: node
   linkType: hard
 
-"assemblyscript@npm:0.27.29":
-  version: 0.27.29
-  resolution: "assemblyscript@npm:0.27.29"
+"assemblyscript@npm:0.27.30":
+  version: 0.27.30
+  resolution: "assemblyscript@npm:0.27.30"
   dependencies:
     binaryen: "npm:116.0.0-nightly.20240114"
     long: "npm:^5.2.1"
   bin:
     asc: bin/asc.js
     asinit: bin/asinit.js
-  checksum: 10/d680f109dc5fa2c1c969daf1e703fe75a43c0b875850548432ec138922237eacb481e99ca072438a762b92aea85a8a75a4809a80c6181ec996844a5f355f4dc5
+  checksum: 10/27b82051db1fb4080aeb56d2d97b380477564739dd452b8391d2614e214a46f2a24f52470047510e42ae47344dea3280bf2779b7de18c0eba573145a5d297c22
   languageName: node
   linkType: hard
 
@@ -8135,34 +8135,34 @@ __metadata:
   languageName: node
   linkType: hard
 
-"esbuild@npm:^0.23.1":
-  version: 0.23.1
-  resolution: "esbuild@npm:0.23.1"
-  dependencies:
-    "@esbuild/aix-ppc64": "npm:0.23.1"
-    "@esbuild/android-arm": "npm:0.23.1"
-    "@esbuild/android-arm64": "npm:0.23.1"
-    "@esbuild/android-x64": "npm:0.23.1"
-    "@esbuild/darwin-arm64": "npm:0.23.1"
-    "@esbuild/darwin-x64": "npm:0.23.1"
-    "@esbuild/freebsd-arm64": "npm:0.23.1"
-    "@esbuild/freebsd-x64": "npm:0.23.1"
-    "@esbuild/linux-arm": "npm:0.23.1"
-    "@esbuild/linux-arm64": "npm:0.23.1"
-    "@esbuild/linux-ia32": "npm:0.23.1"
-    "@esbuild/linux-loong64": "npm:0.23.1"
-    "@esbuild/linux-mips64el": "npm:0.23.1"
-    "@esbuild/linux-ppc64": "npm:0.23.1"
-    "@esbuild/linux-riscv64": "npm:0.23.1"
-    "@esbuild/linux-s390x": "npm:0.23.1"
-    "@esbuild/linux-x64": "npm:0.23.1"
-    "@esbuild/netbsd-x64": "npm:0.23.1"
-    "@esbuild/openbsd-arm64": "npm:0.23.1"
-    "@esbuild/openbsd-x64": "npm:0.23.1"
-    "@esbuild/sunos-x64": "npm:0.23.1"
-    "@esbuild/win32-arm64": "npm:0.23.1"
-    "@esbuild/win32-ia32": "npm:0.23.1"
-    "@esbuild/win32-x64": "npm:0.23.1"
+"esbuild@npm:^0.24.0":
+  version: 0.24.0
+  resolution: "esbuild@npm:0.24.0"
+  dependencies:
+    "@esbuild/aix-ppc64": "npm:0.24.0"
+    "@esbuild/android-arm": "npm:0.24.0"
+    "@esbuild/android-arm64": "npm:0.24.0"
+    "@esbuild/android-x64": "npm:0.24.0"
+    "@esbuild/darwin-arm64": "npm:0.24.0"
+    "@esbuild/darwin-x64": "npm:0.24.0"
+    "@esbuild/freebsd-arm64": "npm:0.24.0"
+    "@esbuild/freebsd-x64": "npm:0.24.0"
+    "@esbuild/linux-arm": "npm:0.24.0"
+    "@esbuild/linux-arm64": "npm:0.24.0"
+    "@esbuild/linux-ia32": "npm:0.24.0"
+    "@esbuild/linux-loong64": "npm:0.24.0"
+    "@esbuild/linux-mips64el": "npm:0.24.0"
+    "@esbuild/linux-ppc64": "npm:0.24.0"
+    "@esbuild/linux-riscv64": "npm:0.24.0"
+    "@esbuild/linux-s390x": "npm:0.24.0"
+    "@esbuild/linux-x64": "npm:0.24.0"
+    "@esbuild/netbsd-x64": "npm:0.24.0"
+    "@esbuild/openbsd-arm64": "npm:0.24.0"
+    "@esbuild/openbsd-x64": "npm:0.24.0"
+    "@esbuild/sunos-x64": "npm:0.24.0"
+    "@esbuild/win32-arm64": "npm:0.24.0"
+    "@esbuild/win32-ia32": "npm:0.24.0"
+    "@esbuild/win32-x64": "npm:0.24.0"
   dependenciesMeta:
     "@esbuild/aix-ppc64":
       optional: true
@@ -8214,7 +8214,7 @@ __metadata:
       optional: true
   bin:
     esbuild: bin/esbuild
-  checksum: 10/f55fbd0bfb0f86ce67a6d2c6f6780729d536c330999ecb9f5a38d578fb9fda820acbbc67d6d1d377eed8fed50fc38f14ff9cb014f86dafab94269a7fb2177018
+  checksum: 10/500f83a1216d6548053007b85c070d8293395db344605b17418c6cf1217e5e8d338fa77fc8af27c23faa121c5528e5b0004d46d3a0cdeb87d48f1b5fa0164bc5
   languageName: node
   linkType: hard
 
@@ -9854,11 +9854,11 @@ __metadata:
   version: 0.0.0-use.local
   resolution: "root-workspace-0b6124@workspace:."
   dependencies:
-    "@microsoft/api-documenter": "npm:^7.25.14"
+    "@microsoft/api-documenter": "npm:^7.25.17"
     "@microsoft/api-extractor": "npm:^7.47.9"
     all-contributors-cli: "npm:^6.26.1"
     bun-types: "npm:^1.1.29"
-    esbuild: "npm:^0.23.1"
+    esbuild: "npm:^0.24.0"
     html-minifier-terser: "npm:^7.2.0"
     tools: "workspace:^"
     typedoc: "npm:^0.26.7"
@@ -10594,9 +10594,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"vite@npm:^5.4.7":
-  version: 5.4.7
-  resolution: "vite@npm:5.4.7"
+"vite@npm:^5.4.8":
+  version: 5.4.8
+  resolution: "vite@npm:5.4.8"
   dependencies:
     esbuild: "npm:^0.21.3"
     fsevents: "npm:~2.3.3"
@@ -10633,7 +10633,7 @@ __metadata:
       optional: true
   bin:
     vite: bin/vite.js
-  checksum: 10/3f27e870930ad83b51e009604c6b69ab090e69bb5bfe85007c7e4ec3326efae4e33ac799645926363f258595b3be3055cc1ebc5ee158cff4bacdf41adf4ef8ed
+  checksum: 10/17fdffa558abaf854f04ead7d3ddd76e4556a59871f9ac63cca3fc20a79979984837d8dddaae4b171e3d73061f781e4eec0f6d3babdbce2b4d111d29cf474c1c
   languageName: node
   linkType: hard