diff --git a/assets/colored-noise/hihat-green.png b/assets/colored-noise/hihat-green.png new file mode 100644 index 0000000000..a1d067df0c Binary files /dev/null and b/assets/colored-noise/hihat-green.png differ diff --git a/assets/examples/rdom-dnd.png b/assets/examples/rdom-dnd.png new file mode 100644 index 0000000000..ff5a1ba793 Binary files /dev/null and b/assets/examples/rdom-dnd.png differ diff --git a/assets/examples/rdom-lissajous.png b/assets/examples/rdom-lissajous.png new file mode 100644 index 0000000000..faf74092da Binary files /dev/null and b/assets/examples/rdom-lissajous.png differ diff --git a/assets/examples/rdom-svg-nodes.png b/assets/examples/rdom-svg-nodes.png new file mode 100644 index 0000000000..402edac857 Binary files /dev/null and b/assets/examples/rdom-svg-nodes.png differ diff --git a/examples/README.md b/examples/README.md index 8fe1ed2232..a31381d155 100644 --- a/examples/README.md +++ b/examples/README.md @@ -68,29 +68,29 @@ in touch via PR, issue tracker, email or twitter! | 056 | | [porter-duff](./porter-duff/) | Port-Duff image compositing / alpha blending | | 057 | | [ramp-synth](./ramp-synth/) | Unison wavetable synth with waveform editor | | 058 | | [rdom-basics](./rdom-basics/) | Demonstates various rdom usage patterns | -| 059 | | [rdom-dnd](./rdom-dnd/) | rdom drag & drop example | -| 060 | | [rdom-lissajous](./rdom-lissajous/) | rdom & hiccup-canvas interop test | +| 059 | | [rdom-dnd](./rdom-dnd/) | rdom drag & drop example | +| 060 | | [rdom-lissajous](./rdom-lissajous/) | rdom & hiccup-canvas interop test | | 061 | | [rdom-search-docs](./rdom-search-docs/) | Full umbrella repo doc string search w/ paginated results | -| 062 | | [rotating-voronoi](./rotating-voronoi/) | Animated Voronoi diagram, cubic splines & SVG download | -| 063 | | [router-basics](./router-basics/) | Complete mini SPA app w/ router & async content loading | -| 064 | | [rstream-dataflow](./rstream-dataflow/) | Minimal rstream dataflow graph | -| 065 | | [rstream-event-loop](./rstream-event-loop/) | Minimal demo of using rstream constructs to form an interceptor-style event loop | -| 066 | | [rstream-grid](./rstream-grid/) | Interactive grid generator, SVG generation & export, undo/redo support | -| 067 | | [rstream-hdom](./rstream-hdom/) | rstream based UI updates & state handling | -| 068 | | [rstream-spreadsheet](./rstream-spreadsheet/) | rstream based spreadsheet w/ S-expression formula DSL | -| 069 | | [scenegraph](./scenegraph/) | 2D scenegraph & shape picking | -| 070 | | [scenegraph-image](./scenegraph-image/) | 2D scenegraph & image map based geometry manipulation | -| 071 | | [shader-ast-canvas2d](./shader-ast-canvas2d/) | 2D canvas shader emulation | -| 072 | | [shader-ast-evo](./shader-ast-evo/) | Evolutionary shader generation using genetic programming | -| 073 | | [shader-ast-noise](./shader-ast-noise/) | HOF shader procedural noise function composition | -| 074 | | [shader-ast-raymarch](./shader-ast-raymarch/) | WebGL & JS canvas2D raymarch shader cross-compilation | -| 075 | | [shader-ast-sdf2d](./shader-ast-sdf2d/) | WebGL & JS canvas 2D SDF | -| 076 | | [shader-ast-tunnel](./shader-ast-tunnel/) | WebGL & Canvas2D textured tunnel shader | -| 077 | | [shader-ast-workers](./shader-ast-workers/) | Fork-join worker-based raymarch renderer | -| 078 | | [shader-graph](./shader-graph/) | Minimal shader graph developed during livestream #2 | -| 079 | | [soa-ecs](./soa-ecs/) | Entity Component System w/ 100k 3D particles | -| 080 | | [stratified-grid](./stratified-grid/) | 2D Stratified grid sampling example | -| 081 | | [stream-countdown](./stream-countdown/) | TODO | +| 062 | | [rdom-svg-nodes](./rdom-svg-nodes/) | rdom powered SVG graph with draggable nodes | +| 063 | | [rotating-voronoi](./rotating-voronoi/) | Animated Voronoi diagram, cubic splines & SVG download | +| 064 | | [router-basics](./router-basics/) | Complete mini SPA app w/ router & async content loading | +| 065 | | [rstream-dataflow](./rstream-dataflow/) | Minimal rstream dataflow graph | +| 066 | | [rstream-event-loop](./rstream-event-loop/) | Minimal demo of using rstream constructs to form an interceptor-style event loop | +| 067 | | [rstream-grid](./rstream-grid/) | Interactive grid generator, SVG generation & export, undo/redo support | +| 068 | | [rstream-hdom](./rstream-hdom/) | rstream based UI updates & state handling | +| 069 | | [rstream-spreadsheet](./rstream-spreadsheet/) | rstream based spreadsheet w/ S-expression formula DSL | +| 070 | | [scenegraph](./scenegraph/) | 2D scenegraph & shape picking | +| 071 | | [scenegraph-image](./scenegraph-image/) | 2D scenegraph & image map based geometry manipulation | +| 072 | | [shader-ast-canvas2d](./shader-ast-canvas2d/) | 2D canvas shader emulation | +| 073 | | [shader-ast-evo](./shader-ast-evo/) | Evolutionary shader generation using genetic programming | +| 074 | | [shader-ast-noise](./shader-ast-noise/) | HOF shader procedural noise function composition | +| 075 | | [shader-ast-raymarch](./shader-ast-raymarch/) | WebGL & JS canvas2D raymarch shader cross-compilation | +| 076 | | [shader-ast-sdf2d](./shader-ast-sdf2d/) | WebGL & JS canvas 2D SDF | +| 077 | | [shader-ast-tunnel](./shader-ast-tunnel/) | WebGL & Canvas2D textured tunnel shader | +| 078 | | [shader-ast-workers](./shader-ast-workers/) | Fork-join worker-based raymarch renderer | +| 079 | | [shader-graph](./shader-graph/) | Minimal shader graph developed during livestream #2 | +| 080 | | [soa-ecs](./soa-ecs/) | Entity Component System w/ 100k 3D particles | +| 081 | | [stratified-grid](./stratified-grid/) | 2D Stratified grid sampling example | | 082 | | [svg-barchart](./svg-barchart/) | Simplistic SVG bar chart component | | 083 | | [svg-particles](./svg-particles/) | Basic 2D particle system w/ SVG shapes | | 084 | | [svg-waveform](./svg-waveform/) | Additive waveform synthesis & SVG visualization with undo/redo | diff --git a/examples/adaptive-threshold/package.json b/examples/adaptive-threshold/package.json index 4faec60a78..c29f34150c 100644 --- a/examples/adaptive-threshold/package.json +++ b/examples/adaptive-threshold/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/async-effect/package.json b/examples/async-effect/package.json index 64d05fbaa3..0e59672a06 100644 --- a/examples/async-effect/package.json +++ b/examples/async-effect/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/bitmap-font/package.json b/examples/bitmap-font/package.json index 680ce34175..61f9714625 100644 --- a/examples/bitmap-font/package.json +++ b/examples/bitmap-font/package.json @@ -14,8 +14,8 @@ "devDependencies": { "parcel-bundler": "^1.12.4", "rimraf": "^2.6.3", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/canvas-dial/package.json b/examples/canvas-dial/package.json index cd422e8889..8632dd4b06 100644 --- a/examples/canvas-dial/package.json +++ b/examples/canvas-dial/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/cellular-automata/package.json b/examples/cellular-automata/package.json index 694a7aa5a6..34a7319f50 100644 --- a/examples/cellular-automata/package.json +++ b/examples/cellular-automata/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom": "latest", diff --git a/examples/commit-heatmap/package.json b/examples/commit-heatmap/package.json index 9dbde34d09..c457b318bd 100644 --- a/examples/commit-heatmap/package.json +++ b/examples/commit-heatmap/package.json @@ -11,7 +11,7 @@ }, "devDependencies": { "ts-node": "^8.5.2", - "typescript": "^3.9.7" + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/associative": "latest", diff --git a/examples/commit-table-ssr/package.json b/examples/commit-table-ssr/package.json index 5d68dcb9c5..b3c31e2bba 100644 --- a/examples/commit-table-ssr/package.json +++ b/examples/commit-table-ssr/package.json @@ -15,8 +15,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "express": "^4.17.1", diff --git a/examples/crypto-chart/package.json b/examples/crypto-chart/package.json index 6356ebea6b..b951c82baa 100644 --- a/examples/crypto-chart/package.json +++ b/examples/crypto-chart/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/devcards/package.json b/examples/devcards/package.json index f11af2e7cb..27bf8e4d34 100644 --- a/examples/devcards/package.json +++ b/examples/devcards/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/fft-synth/package.json b/examples/fft-synth/package.json index 2f3d2ef0fa..5fffdd6909 100644 --- a/examples/fft-synth/package.json +++ b/examples/fft-synth/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/atom": "latest", diff --git a/examples/geom-convex-hull/package.json b/examples/geom-convex-hull/package.json index ef882fb300..0be3b725ed 100644 --- a/examples/geom-convex-hull/package.json +++ b/examples/geom-convex-hull/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/geom": "latest", diff --git a/examples/geom-fuzz-basics/package.json b/examples/geom-fuzz-basics/package.json index d09b80bbe5..7d75084672 100644 --- a/examples/geom-fuzz-basics/package.json +++ b/examples/geom-fuzz-basics/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/adapt-dpi": "latest", diff --git a/examples/geom-knn/package.json b/examples/geom-knn/package.json index 2f564098f4..2949eabc1b 100644 --- a/examples/geom-knn/package.json +++ b/examples/geom-knn/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/bench": "latest", diff --git a/examples/geom-tessel/package.json b/examples/geom-tessel/package.json index 654bf0e7fe..e8ae73d1b9 100644 --- a/examples/geom-tessel/package.json +++ b/examples/geom-tessel/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/compose": "latest", diff --git a/examples/geom-voronoi-mst/package.json b/examples/geom-voronoi-mst/package.json index d11e476d35..e667701946 100644 --- a/examples/geom-voronoi-mst/package.json +++ b/examples/geom-voronoi-mst/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/adjacency": "latest", diff --git a/examples/gesture-analysis/package.json b/examples/gesture-analysis/package.json index e45401bf33..4697483894 100644 --- a/examples/gesture-analysis/package.json +++ b/examples/gesture-analysis/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/arrays": "latest", diff --git a/examples/grid-iterators/package.json b/examples/grid-iterators/package.json index de14fd024b..63fe11922f 100644 --- a/examples/grid-iterators/package.json +++ b/examples/grid-iterators/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/color": "latest", diff --git a/examples/hdom-basics/package.json b/examples/hdom-basics/package.json index b15b1cc31e..47a60ee6d3 100644 --- a/examples/hdom-basics/package.json +++ b/examples/hdom-basics/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom": "latest" diff --git a/examples/hdom-benchmark/package.json b/examples/hdom-benchmark/package.json index db7034f678..496cf12e6b 100644 --- a/examples/hdom-benchmark/package.json +++ b/examples/hdom-benchmark/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom": "latest", diff --git a/examples/hdom-benchmark2/package.json b/examples/hdom-benchmark2/package.json index bd9433cf6d..df9eab0222 100644 --- a/examples/hdom-benchmark2/package.json +++ b/examples/hdom-benchmark2/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/binary": "latest", diff --git a/examples/hdom-canvas-clock/package.json b/examples/hdom-canvas-clock/package.json index 53f39e82c5..451901f710 100644 --- a/examples/hdom-canvas-clock/package.json +++ b/examples/hdom-canvas-clock/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom": "latest", diff --git a/examples/hdom-canvas-draw/package.json b/examples/hdom-canvas-draw/package.json index b764d09bcd..f0ed047e0b 100644 --- a/examples/hdom-canvas-draw/package.json +++ b/examples/hdom-canvas-draw/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom-canvas": "latest", diff --git a/examples/hdom-canvas-particles/package.json b/examples/hdom-canvas-particles/package.json index da84286607..7c6efcae2f 100644 --- a/examples/hdom-canvas-particles/package.json +++ b/examples/hdom-canvas-particles/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/compose": "latest", diff --git a/examples/hdom-canvas-shapes/package.json b/examples/hdom-canvas-shapes/package.json index 1771160b2a..2e4d006e28 100644 --- a/examples/hdom-canvas-shapes/package.json +++ b/examples/hdom-canvas-shapes/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/color": "latest", diff --git a/examples/hdom-dropdown-fuzzy/package.json b/examples/hdom-dropdown-fuzzy/package.json index 9b6d26a638..e87732be65 100644 --- a/examples/hdom-dropdown-fuzzy/package.json +++ b/examples/hdom-dropdown-fuzzy/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/hdom-dropdown/package.json b/examples/hdom-dropdown/package.json index 798070d656..20b0b7c947 100644 --- a/examples/hdom-dropdown/package.json +++ b/examples/hdom-dropdown/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/hdom-dyn-context/package.json b/examples/hdom-dyn-context/package.json index 56bcc8ae77..2399624792 100644 --- a/examples/hdom-dyn-context/package.json +++ b/examples/hdom-dyn-context/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/atom": "latest", diff --git a/examples/hdom-elm/package.json b/examples/hdom-elm/package.json index fb48e709f8..9312ac5cf5 100644 --- a/examples/hdom-elm/package.json +++ b/examples/hdom-elm/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/hdom-inner-html/package.json b/examples/hdom-inner-html/package.json index c425c34327..6a167a3fd9 100644 --- a/examples/hdom-inner-html/package.json +++ b/examples/hdom-inner-html/package.json @@ -13,8 +13,8 @@ "devDependencies": { "parcel-bundler": "^1.12.4", "rimraf": "^2.6.3", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom": "latest" diff --git a/examples/hdom-local-render/package.json b/examples/hdom-local-render/package.json index 8231c0224d..ac66df9158 100644 --- a/examples/hdom-local-render/package.json +++ b/examples/hdom-local-render/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/hdom-localstate/package.json b/examples/hdom-localstate/package.json index eb9028e22b..d0af96e5db 100644 --- a/examples/hdom-localstate/package.json +++ b/examples/hdom-localstate/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom": "latest", diff --git a/examples/hdom-skip-nested/package.json b/examples/hdom-skip-nested/package.json index aba7b96842..4bfb4fe4da 100644 --- a/examples/hdom-skip-nested/package.json +++ b/examples/hdom-skip-nested/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom": "latest" diff --git a/examples/hdom-skip/package.json b/examples/hdom-skip/package.json index a658da8050..c82b7dac09 100644 --- a/examples/hdom-skip/package.json +++ b/examples/hdom-skip/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom": "latest" diff --git a/examples/hdom-theme-adr-0003/package.json b/examples/hdom-theme-adr-0003/package.json index 54f76610c9..c4a087967c 100644 --- a/examples/hdom-theme-adr-0003/package.json +++ b/examples/hdom-theme-adr-0003/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/hdom-toggle/package.json b/examples/hdom-toggle/package.json index 85a9cd8529..f73ab8af16 100644 --- a/examples/hdom-toggle/package.json +++ b/examples/hdom-toggle/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom": "latest", diff --git a/examples/hdom-vscroller/package.json b/examples/hdom-vscroller/package.json index 25751edc3e..f00a1ff000 100644 --- a/examples/hdom-vscroller/package.json +++ b/examples/hdom-vscroller/package.json @@ -13,8 +13,8 @@ "devDependencies": { "parcel-bundler": "^1.12.4", "rimraf": "^2.6.3", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/hiccup-canvas-arcs/package.json b/examples/hiccup-canvas-arcs/package.json index 33aaf74f6b..32556d1b9a 100644 --- a/examples/hiccup-canvas-arcs/package.json +++ b/examples/hiccup-canvas-arcs/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/geom": "latest", diff --git a/examples/hmr-basics/package.json b/examples/hmr-basics/package.json index 2fdb44aad5..7004657966 100644 --- a/examples/hmr-basics/package.json +++ b/examples/hmr-basics/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/atom": "latest", diff --git a/examples/hydrate-basics/package.json b/examples/hydrate-basics/package.json index 7598b7aa75..167550ef07 100644 --- a/examples/hydrate-basics/package.json +++ b/examples/hydrate-basics/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/imgui-basics/package.json b/examples/imgui-basics/package.json index a5f4ad4a0f..2b7d3c94c8 100644 --- a/examples/imgui-basics/package.json +++ b/examples/imgui-basics/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.5" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom": "latest", diff --git a/examples/imgui/package.json b/examples/imgui/package.json index a72e9a7962..f0f5d8e822 100644 --- a/examples/imgui/package.json +++ b/examples/imgui/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/atom": "latest", @@ -45,6 +45,7 @@ "geom", "hdom", "hdom-canvas", + "hiccup-carbon-icons", "imgui", "layout", "rstream", diff --git a/examples/imgui/src/index.ts b/examples/imgui/src/index.ts index 82efcad148..9239642865 100644 --- a/examples/imgui/src/index.ts +++ b/examples/imgui/src/index.ts @@ -83,7 +83,7 @@ const THEME_IDS = ["Default", "Raspberry"]; // (transforms each path into one only consisting of cubic spline segments) const mkIcon = (icon: any[]) => [ "g", - { stroke: "none" }, + { stroke: "none", scale: 16 / 32 }, ...iterator( comp( mapcat((p) => pathFromSvg(p[1].d)), diff --git a/examples/interceptor-basics/package.json b/examples/interceptor-basics/package.json index abc2c1ae71..8128771871 100644 --- a/examples/interceptor-basics/package.json +++ b/examples/interceptor-basics/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/atom": "latest", diff --git a/examples/interceptor-basics2/package.json b/examples/interceptor-basics2/package.json index 93da2d1efd..d913c53440 100644 --- a/examples/interceptor-basics2/package.json +++ b/examples/interceptor-basics2/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/iso-plasma/package.json b/examples/iso-plasma/package.json index 16192a8382..3405322d49 100644 --- a/examples/iso-plasma/package.json +++ b/examples/iso-plasma/package.json @@ -13,8 +13,8 @@ "devDependencies": { "parcel-bundler": "^1.12.4", "rimraf": "^2.6.3", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/json-components/package.json b/examples/json-components/package.json index 02873f1904..192c87ccf7 100644 --- a/examples/json-components/package.json +++ b/examples/json-components/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom": "latest", diff --git a/examples/login-form/package.json b/examples/login-form/package.json index 7361272208..4b9be7fc39 100644 --- a/examples/login-form/package.json +++ b/examples/login-form/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/atom": "latest", diff --git a/examples/mandelbrot/package.json b/examples/mandelbrot/package.json index a62c08576a..4caf7666f1 100644 --- a/examples/mandelbrot/package.json +++ b/examples/mandelbrot/package.json @@ -14,8 +14,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/compose": "latest", diff --git a/examples/markdown/package.json b/examples/markdown/package.json index c998b981a1..2348f5f4bf 100644 --- a/examples/markdown/package.json +++ b/examples/markdown/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/bench": "latest", diff --git a/examples/multitouch/package.json b/examples/multitouch/package.json index 1e201c3fbd..7e74630eed 100644 --- a/examples/multitouch/package.json +++ b/examples/multitouch/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/hdom-canvas": "latest", diff --git a/examples/package-stats/package.json b/examples/package-stats/package.json index 0356d82365..8d337a98f2 100644 --- a/examples/package-stats/package.json +++ b/examples/package-stats/package.json @@ -11,8 +11,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7", + "terser": "^5.2.1", + "typescript": "^4.0.2", "ts-node": "^8.2.0" }, "dependencies": { diff --git a/examples/parse-playground/package.json b/examples/parse-playground/package.json index b4e9f3ed30..1307a288bd 100644 --- a/examples/parse-playground/package.json +++ b/examples/parse-playground/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/pixel-basics/package.json b/examples/pixel-basics/package.json index 8021a67ae9..b79b5bdcf1 100644 --- a/examples/pixel-basics/package.json +++ b/examples/pixel-basics/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/pixel": "latest", diff --git a/examples/pointfree-svg/package.json b/examples/pointfree-svg/package.json index 780d03e648..32807343f7 100644 --- a/examples/pointfree-svg/package.json +++ b/examples/pointfree-svg/package.json @@ -17,7 +17,7 @@ }, "devDependencies": { "ts-node": "^8.2.0", - "typescript": "^3.9.7" + "typescript": "^4.0.2" }, "thi.ng": { "readme": true, diff --git a/examples/poisson-circles/package.json b/examples/poisson-circles/package.json index 2ba9a8fa62..2ffe59ee51 100644 --- a/examples/poisson-circles/package.json +++ b/examples/poisson-circles/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/geom": "latest", diff --git a/examples/poly-spline/package.json b/examples/poly-spline/package.json index bcab0f0eb6..9f54f7f534 100644 --- a/examples/poly-spline/package.json +++ b/examples/poly-spline/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/dsp": "latest", diff --git a/examples/porter-duff/package.json b/examples/porter-duff/package.json index 117f16b03a..d067a720b1 100644 --- a/examples/porter-duff/package.json +++ b/examples/porter-duff/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/pixel": "latest", diff --git a/examples/ramp-synth/package.json b/examples/ramp-synth/package.json index 2780353c10..4030c29024 100644 --- a/examples/ramp-synth/package.json +++ b/examples/ramp-synth/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/arrays": "latest", diff --git a/examples/rdom-basics/package.json b/examples/rdom-basics/package.json index 91bebebf30..519d0e7fe7 100644 --- a/examples/rdom-basics/package.json +++ b/examples/rdom-basics/package.json @@ -14,8 +14,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/rdom-dnd/package.json b/examples/rdom-dnd/package.json index 0b94415663..2970d4ddf7 100644 --- a/examples/rdom-dnd/package.json +++ b/examples/rdom-dnd/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", @@ -33,6 +33,7 @@ "readme": [ "rdom", "hiccup-carbon-icons" - ] + ], + "screenshot": "examples/rdom-dnd.png" } } diff --git a/examples/rdom-dnd/src/index.ts b/examples/rdom-dnd/src/index.ts index 974337ce2f..0c707c4711 100644 --- a/examples/rdom-dnd/src/index.ts +++ b/examples/rdom-dnd/src/index.ts @@ -1,8 +1,4 @@ -import { - ADD_OUTLINE, - CLOSE_OUTLINE, - withSize, -} from "@thi.ng/hiccup-carbon-icons"; +import { ADD_ALT, CLOSE_OUTLINE, withSize } from "@thi.ng/hiccup-carbon-icons"; import { div } from "@thi.ng/hiccup-html"; import { $compile } from "@thi.ng/rdom"; import { cycle } from "@thi.ng/transducers"; @@ -51,7 +47,7 @@ $compile( null, notify, div(".mv2", null, "Drag & drop the icons..."), - dragBank("bank1", "red", "cyan", ADD_OUTLINE), + dragBank("bank1", "red", "cyan", ADD_ALT), dragBank("bank2", "blue", "orange", CLOSE_OUTLINE) ) ).mount(document.getElementById("app")!); diff --git a/examples/rdom-dnd/src/notification.ts b/examples/rdom-dnd/src/notification.ts index 7beb9fea14..78c2a44542 100644 --- a/examples/rdom-dnd/src/notification.ts +++ b/examples/rdom-dnd/src/notification.ts @@ -1,16 +1,16 @@ import { - CHECKMARK_SOLID, - INFO, - WARNING, + CHECKMARK_FILLED, + INFORMATION_FILLED, + WARNING_ALT_FILLED, withSize, } from "@thi.ng/hiccup-carbon-icons"; import { div, span } from "@thi.ng/hiccup-html"; import { Component, NumOrElement } from "@thi.ng/rdom"; const PRESETS = { - info: { class: "bg-lightest-blue blue", icon: INFO }, - success: { class: "bg-washed-green dark-green", icon: CHECKMARK_SOLID }, - warn: { class: "bg-washed-red dark-red", icon: WARNING }, + info: { class: "bg-lightest-blue blue", icon: INFORMATION_FILLED }, + success: { class: "bg-washed-green dark-green", icon: CHECKMARK_FILLED }, + warn: { class: "bg-washed-red dark-red", icon: WARNING_ALT_FILLED }, }; export interface NotifyOpts { diff --git a/examples/rdom-lissajous/package.json b/examples/rdom-lissajous/package.json index 2eb7e95e4e..344b153573 100644 --- a/examples/rdom-lissajous/package.json +++ b/examples/rdom-lissajous/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", @@ -37,6 +37,7 @@ "rdom-canvas", "rstream", "transducers" - ] + ], + "screenshot": "examples/rdom-lissajous.png" } } diff --git a/examples/rdom-lissajous/src/index.ts b/examples/rdom-lissajous/src/index.ts index 216d8568f3..0e503a9f04 100644 --- a/examples/rdom-lissajous/src/index.ts +++ b/examples/rdom-lissajous/src/index.ts @@ -1,5 +1,5 @@ import type { IDeref } from "@thi.ng/api"; -import { INFO_SOLID as ICON, withSize } from "@thi.ng/hiccup-carbon-icons"; +import { INFORMATION as ICON, withSize } from "@thi.ng/hiccup-carbon-icons"; import { div, inputRange, label } from "@thi.ng/hiccup-html"; import { $compile } from "@thi.ng/rdom"; import { $canvas } from "@thi.ng/rdom-canvas"; diff --git a/examples/rdom-search-docs/package.json b/examples/rdom-search-docs/package.json index 741ce6f097..03e3873caa 100644 --- a/examples/rdom-search-docs/package.json +++ b/examples/rdom-search-docs/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "parcel-bundler": "^1.12.4", - "terser": "^5.1.0", - "typescript": "^3.9.7" + "terser": "^5.2.1", + "typescript": "^4.0.2" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/rdom-svg-nodes/.gitignore b/examples/rdom-svg-nodes/.gitignore new file mode 100644 index 0000000000..5d62218c54 --- /dev/null +++ b/examples/rdom-svg-nodes/.gitignore @@ -0,0 +1,8 @@ +.cache +out +node_modules +yarn.lock +*.js +*.map +!src/*.d.ts +!*.config.js diff --git a/examples/rdom-svg-nodes/README.md b/examples/rdom-svg-nodes/README.md new file mode 100644 index 0000000000..d58cf511e8 --- /dev/null +++ b/examples/rdom-svg-nodes/README.md @@ -0,0 +1,13 @@ +# rdom-svg-nodes + +[Live demo](http://demo.thi.ng/umbrella/rdom-svg-nodes/) + +Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. + +## Authors + +- Karsten Schmidt + +## License + +© 2020 Karsten Schmidt // Apache Software License 2.0 diff --git a/examples/rdom-svg-nodes/index.html b/examples/rdom-svg-nodes/index.html new file mode 100644 index 0000000000..9890428821 --- /dev/null +++ b/examples/rdom-svg-nodes/index.html @@ -0,0 +1,18 @@ + + +
+ + + +