Skip to content

Latest commit

 

History

History
177 lines (174 loc) · 42.4 KB

README.md

File metadata and controls

177 lines (174 loc) · 42.4 KB

@thi.ng/umbrella examples

This directory contains a growing number (currently 165) of standalone example projects, including live online versions, build instructions and commented source code.

If you want to contribute an example, please get in touch via PR, issue tracker, email or twitter!

# Screenshot Name Description
001 adaptive-threshold Interactive image processing (adaptive threshold)
002 ascii-raymarch ASCII art raymarching with thi.ng/shader-ast & thi.ng/text-canvas
003 async-effect Minimal demo using interceptors with an async side effect
004 big-font Large ASCII font text generator using @thi.ng/rdom
005 bitmap-font Figlet-style bitmap font creation with transducers
006 blurhash Interactive & reactive image blurhash generator
007 boid-basics Basic 2D boid simulation and spatial indexing neighbor lookups
008 canvas-dial Canvas based dial widget
009 canvas-recorder Self-modifying, animated typographic grid with emergent complex patterns
010 cellular-automata 2D transducer based cellular automata
011 color-themes Probabilistic color theme generator
012 commit-heatmap Heatmap visualization of this mono-repo's commits
013 commit-table-ssr Filterable commit log UI w/ minimal server to provide commit history
014 crypto-chart Basic crypto-currency candle chart with multiple moving averages plots
015 csp-bus CSP channel-based event handling, async transducers & reactive UI components
016 devcards BMI calculator in a devcards format
017 dominant-colors Color palette generation via dominant color extraction from uploaded images
018 ellipse-proximity Interactive visualization of closest points on ellipses
019 fft-synth Interactive inverse FFT toy synth
020 fiber-basics Fiber-based cooperative multitasking basics
021 geom-classify-point Polygon point classification (inside/boundary/outside)
022 geom-complex-poly Shape conversions & operations using polygons with holes
023 geom-convex-hull Convex hull & shape clipping of 2D polygons
024 geom-csv-piechart Piechart visualization of CSV data
025 geom-fuzz-basics geom-fuzz basic shape & fill examples
026 geom-hexgrid Hex grid generation & tessellations
027 geom-knn Doodle w/ K-nearest neighbor search result visualization
028 geom-knn-hash K-nearest neighbor search in an hash grid
029 geom-sdf-logo (Re)Constructing the thi.ng logo using a 2D signed-distance field
030 geom-sdf-path SVG path to SDF, applying deformation and converting back to SVG
031 geom-terrain-viz 2.5D hidden line visualization of digital elevation files (DEM)
032 geom-tessel Animated, recursive polygon tessellations
033 geom-voronoi-mst Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization
034 gesture-analysis Mouse gesture / stroke analysis, simplification, corner detection
035 grid-iterators Visualization of different grid iterator strategies
036 hdom-basics Minimal hdom usage example
037 hdom-benchmark hdom update performance benchmark (old version)
038 hdom-benchmark2 hdom update performance benchmark w/ config options
039 hdom-canvas-clock Realtime analog clock demo
040 hdom-canvas-draw Interactive pattern drawing demo using transducers
041 hdom-canvas-particles 2D Bezier curve-guided particle system
042 hdom-canvas-shapes Various hdom-canvas shape drawing examples & SVG conversion / export
043 hdom-dropdown Custom dropdown UI component for hdom
044 hdom-dropdown-fuzzy Custom dropdown UI component w/ fuzzy search
045 hdom-dyn-context Using custom hdom context for dynamic UI theming
046 hdom-elm Using hdom in an Elm-like manner
047 hdom-inner-html Higher-order component for rendering HTML strings
048 hdom-local-render Isolated, component-local DOM updates
049 hdom-localstate UI component w/ local state stored in hdom context
050 hdom-skip Skipping UI updates for selected component(s)
051 hdom-skip-nested Skipping UI updates for nested component(s)
052 hdom-theme Example for themed components proposal
053 hdom-toggle Customizable slide toggle component demo
054 hdom-vscroller Virtual scroller component for large tables / lists
055 hiccup-canvas-arcs Animated arcs & drawing using hiccup-canvas
056 hiccup-canvas-basics Basic hiccup-based canvas drawing
057 hiccup-css-image-transition Generating pure CSS image transitions
058 hydrate-basics Hiccup / hdom DOM hydration example
059 ifs-fractal Barnsley fern IFS fractal renderer
060 imgui Canvas based Immediate Mode GUI components
061 imgui-basics Minimal IMGUI usage example
062 interceptor-basics Event handling w/ interceptors and side effects
063 interceptor-basics2 Event handling w/ interceptors and side effects
064 iso-plasma Animated sine plasma effect visualized using contour lines
065 json-components Transforming JSON into UI components
066 kmeans-viz k-means clustering visualization
067 layout-gridgen Randomized space-filling, nested grid layout generator
068 lispy-repl Browser REPL for a Lispy S-expression based mini language
069 login-form Basic SPA example with atom-based UI router
070 mandelbrot Worker based, interactive Mandelbrot visualization
071 markdown Markdown to Hiccup to HTML parser / transformer
072 mastodon-feed Mastodon API feed reader with support for different media types, fullscreen media modal, HTML rewriting
073 meta-css-basics Basic thi.ng/meta-css usage & testbed
074 multitouch Basic rstream-gestures multi-touch demo
075 package-stats CLI util to visualize umbrella pkg stats
076 parse-playground Parser grammar livecoding editor/playground & codegen
077 pixel-basics Pixel buffer manipulations
078 pixel-colormatrix Matrix-based image color adjustments
079 pixel-dither Showcase of various dithering algorithms
080 pixel-gradients Randomized 4-point 2D color gradient image generator
081 pixel-indexed Image dithering and remapping using indexed palettes
082 pixel-normal-map Normal map creation/conversion basics
083 pixel-sorting Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel
084 pixel-waveform RGB waveform image analysis
085 pointfree-geom Live coding playground for 2D geometry generation using @thi.ng/pointfree-lang
086 pointfree-svg Generate SVG using pointfree DSL
087 poisson-circles 2D Poisson-disc sampler with procedural gradient map
088 poly-spline Polygon to cubic curve conversion & visualization
089 poly-subdiv Animated, iterative polygon subdivisions & visualization
090 porter-duff Port-Duff image compositing / alpha blending
091 procedural-text Procedural stochastic text generation via custom DSL, parse grammar & AST transformation
092 quasi-lattice Quasi-random lattice generator
093 ramp-scroll-anim Scroll-based, reactive, multi-param CSS animation basics
094 ramp-synth Unison wavetable synth with waveform editor
095 rasterize-blend Steering behavior drawing with alpha-blended shapes
096 rdom-async Basic & barebones usage of async iterables in thi.ng/rdom
097 rdom-basics Demonstates various rdom usage patterns
098 rdom-canvas-basics Minimal rdom-canvas animation
099 rdom-delayed-update Dynamically loaded images w/ preloader state
100 rdom-dnd rdom drag & drop example
101 rdom-formgen Basic usage of the declarative rdom-forms generator
102 rdom-key-sequences rstream & transducer-based FSM for converting key event sequences into high-level commands
103 rdom-klist Basic usage of thi.ng/rdom keyed list component wrapper
104 rdom-lazy-load Lazy loading components via @thi.ng/rdom
105 rdom-lissajous rdom & hiccup-canvas interop test
106 rdom-reactive-svg Animated SVG elements with reactive attributes
107 rdom-search-docs Full umbrella repo doc string search w/ paginated results
108 rdom-svg-nodes rdom powered SVG graph with draggable nodes
109 rdom-web-components Defining & using basic Web Components (with shadow DOM) via @thi.ng/rdom & @thi.ng/meta-css
110 related-images Responsive image gallery with tag-based Jaccard similarity ranking
111 render-audio Generative audio synth offline renderer and WAV file export
112 rotating-voronoi Animated Voronoi diagram, cubic splines & SVG download
113 router-basics Complete mini SPA app w/ router & async content loading
114 rstream-dataflow Minimal rstream dataflow graph
115 rstream-event-loop Minimal demo of using rstream constructs to form an interceptor-style event loop
116 rstream-grid Interactive grid generator, SVG generation & export, undo/redo support
117 rstream-hdom rstream based UI updates & state handling
118 rstream-spreadsheet rstream based spreadsheet w/ S-expression formula DSL
119 rstream-sync Minimal rstream sync() example using rdom
120 rstream-system-bus Declarative component-based system with central rstream-based pubsub event bus
121 scenegraph 2D scenegraph & shape picking
122 scenegraph-image 2D scenegraph & image map based geometry manipulation
123 shader-ast-canvas2d 2D canvas shader emulation
124 shader-ast-easings Shader-AST meta-programming techniques for animated function plots
125 shader-ast-evo Evolutionary shader generation using genetic programming
126 shader-ast-noise HOF shader procedural noise function composition
127 shader-ast-raymarch WebGL & JS canvas2D raymarch shader cross-compilation
128 shader-ast-sdf2d WebGL & JS canvas 2D SDF
129 shader-ast-tunnel WebGL & Canvas2D textured tunnel shader
130 shader-ast-workers Fork-join worker-based raymarch renderer (JS/CPU only)
131 shader-graph Minimal shader graph developed during livestream #2
132 simd-plot Fitting, transforming & plotting 10k data points per frame using SIMD
133 soa-ecs Entity Component System w/ 100k 3D particles
134 spline-tangent Compute cubic spline position & tangent using Dual Numbers
135 stacked-layout Responsive & reactively computed stacked column layout
136 stratified-grid 2D Stratified grid sampling example
137 svg-barchart Simplistic SVG bar chart component
138 svg-particles Basic 2D particle system w/ SVG shapes
139 svg-resample SVG path parsing & dynamic resampling
140 svg-waveform Additive waveform synthesis & SVG visualization with undo/redo
141 talk-slides hdom based slide deck viewer & slides from my ClojureX 2018 keynote
142 text-canvas 3D wireframe textmode demo
143 text-canvas-image Textmode image warping w/ 16bit color output
144 todo-list Obligatory to-do list example with undo/redo
145 trace-bitmap Multi-layer vectorization & dithering of bitmap images
146 transducers-hdom Transducer & rstream based hdom UI updates
147 triple-query Triple store query results & sortable table
148 unbiased-normals Visual comparison of biased vs. unbiased normal vectors projected on the surface of a sphere
149 webgl-channel-mixer rdom & WebGL-based image channel editor
150 webgl-cube WebGL multi-colored cube mesh
151 webgl-cubemap WebGL cube maps with async texture loading
152 webgl-float-fbo Drawing to floating point offscreen / multi-pass shader pipeline
153 webgl-game-of-life Game of Life implemented as WebGL2 multi-pass shader pipeline
154 webgl-grid WebGL instancing, animated grid
155 webgl-msdf WebGL MSDF text rendering & particle system
156 webgl-multipass Minimal multi-pass / GPGPU example
157 webgl-shadertoy Shadertoy-like WebGL setup
158 webgl-ssao WebGL screenspace ambient occlusion
159 webgl-texture-paint Interactively drawing to & reading from a WebGL offscreen render texture
160 wolfram 1D Wolfram automata with OBJ point cloud export
161 xml-converter XML/HTML/SVG to hiccup/JS conversion
162 zig-canvas Zig-based DOM creation & canvas drawing app
163 zig-cellular Zig-based 2D multi-behavior cellular automata
164 zig-counter Simple Zig/WASM click counter DOM component
165 zig-todo-list Zig-based To-Do list, DOM creation, local storage task persistence