Skip to content

Latest commit

 

History

History
200 lines (197 loc) · 48.2 KB

File metadata and controls

200 lines (197 loc) · 48.2 KB

@thi.ng/umbrella examples

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