Tauri v1 WebView
HTML, JavaScript, p5.js, raw WebGL, GLSL, browser media, and Rust bridges inside the first-generation Tauri configuration model.
Explore v1 →Coding templates for live visual art
Junkpile is a laboratory of standalone creative-graphics applications. Parallel Tauri v1, Tauri v2, and native Rust/wgpu paths expose WebView creative coding, modern desktop integration, and native GPU rendering without hiding the architectural differences between them.
Three architectural tracks
Tauri version and renderer choice are separate decisions. The v2 WebView collection remains browser-rendered; native wgpu is its own explicit family.
HTML, JavaScript, p5.js, raw WebGL, GLSL, browser media, and Rust bridges inside the first-generation Tauri configuration model.
Explore v1 →The same accessible browser graphics path with Tauri 2 capabilities, current window APIs, native file workflows, and broader production examples.
Explore v2 →WGSL, native surfaces, compute shaders, resource lifetimes, camera/video bridges, 3D, interop, and resolution-independent export.
Explore wgpu →Architectural truth
HTML / JavaScript / p5.js / WebGL
↓
Tauri v1 or v2 WebView
↓
WKWebView · WebView2 · WebKitGTK
Rust / wgpu / WGSL
↓
Native GPU surface
↓
Metal · Vulkan · Direct3D 12
The HTML interface can still control a native renderer through Tauri IPC, but the pixels are produced by a different pipeline.
Development progression
Junkpile learning path
Representative examples
p5-tauri-single-template
p5.js WebGL shader baseline with controls and renderer in one WebView.
webgl-tauri-v2-single-template
Explicit WebGL 1 context, shader compilation, program linking, fullscreen quad, uniforms, and render loop.
00-wgpu-surface-probe
Creates a native wgpu surface, selects an adapter, configures presentation, and exposes backend diagnostics.
11-wgpu-volumetric-raymarcher
Ray-marches four procedural 3D scenes with fog, shadows, ambient occlusion, and high-resolution targets.
20-wgpu-multi-input-compositor
Combines multiple media and generated sources, transport, audio analysis, layers, and GPU compositing.
25-wgpu-ultra-resolution-export
Renders independent HD/4K/6K/8K tiles, reads them back safely, assembles pixels, and exports PNG.
How to work with Junkpile
Each example is a complete standalone application. Keep a clean copy before combining systems.
Alter the input, transport, shader, resource model, or output independently before merging concerns.
Document which window owns media, which thread owns GPU resources, and how state survives reconnects.
Every example includes development and production-build paths rather than ending as a browser sketch.