Changelog
All notable changes to Alembic Shader Lab will be documented in this page.
[0.2.12] 2026-06-11
Added
- First-upload shader directions: after uploading an image to image mode, Alembic analyzes the photo and suggests creative directions with live shader previews — pick one, shuffle for more, or start blank
- Copy image to clipboard (PNG) from the export panel in image mode and from procedural mode controls
- WebP as an additional still-image export format alongside PNG in both image and procedural modes
- New image shaders: Hexagonal Halftone, Magnifying Glass, and Emboss / Deboss
Improved
- Palette extraction for procedural shader layers on image stacks: inline “extract from image” file picker and a cleaner named palette generation dropdown replace the separate color-picker modal
- Paper Texture image shader: richer fiber noise and color calculations
- Explore shader preview: compact mode hides the intensity slider when embedded in direction cards
- Text compositing: FXAA pass skips text regions via a screen-space mask so antialiased text stays crisp on export
Fixed
- Upload directions sheet dismisses cleanly through the skip flow without leaving orphaned state
[0.2.11] 2026-05-20
Added
- Image mode: per-layer freeze for animated shader layers (FROZEN/ACTIVE control and stack snowflake toggle)
- 3D primitive: Wobbling Plane — animated terrain surface with adjustable bumpiness and wobble speed, ideal as a lit base under gradient shaders
[0.2.10] 2026-05-18
Added
- Image gallery beta: browse example work in an infinite canvas with pinch-to-zoom and thumbnail-backed loading (assets served from R2)
- Gallery info dialog with onboarding context on the gallery page
- Shader preview browser: browse and preview shaders before adding them to the canvas, integrated into the canvas init flow and image lab
- Toast notifications in the app shell
- Shareable export modal: context menu actions and improved preview workflow
- New shaders: XMB-inspired particle waves (procedural) and swirlable fluted glass (image)
Improved
- Gallery and editor canvases: zoom-aware background grid scaling that stays responds to zoom level
- Shader preview browser: responsive layout and scroll behavior on small screens and mobile
- Shader thumbnail previews: tuned default parameters and PNG-based placeholder for correct sizing on mobile
- Impressionist shader touched up for apter representation
Fixed
- Sample image and composition dimensions used for shader previews
[0.2.9] 2026-05-12
Improved
- Canvas compositing: layers can now exceed the bounds of the canvas on all sides for more flexible composition
Fixed
- The before-after slider on the canvas is functional
[0.2.7] 2026-05-04
Added
- Layer lock/unlock in the shader stack so locked layers skip canvas edits
- Rotation and flipping for image and shape layers from the canvas and context menus; rotate text layers with the same tooling
- Snap-to-guide improvements with contextual center guides and clearer hints on the canvas
- HSL controls for fills and strokes (hue, saturation, lightness, invert) including compositing shader support where applicable
- Canvas presets grouped and loaded dynamically from JSON; changing canvas dimensions keeps layers positioned proportionally instead of collapsing to a corner
- Scaffolded background removal and higher quality image and video exports for pro tier to come
- Eraser mode for raster work on compositing canvases—including rotation-aware strokes, live preview, and accurate bounds—with settings from image controls
Improved
- WebM/video exports expose clearer quality modes (updated muxing dependency under the hood)
- Drag and snapping tweaks for steadier repositioning across the canvas, with anchors that stay reachable inside the viewport
- Text layers: richer styles and alignment preserved from the inspector; richer-text editing is decoupled from layout so typing no longer jitter-shifts composition layout
- Text fill color sourced only from layer properties instead of drifting via inline-only rich-text color
- Typography UI: curated font sections plus smarter bundled/Google font detection for faster picker navigation
- Compositing renderer updates for sharper text layouts, letter-spacing accuracy, and rotation-aware metrics
- 3D layer editor exposes a transparent background toggle synchronized with saved scene/global background colors plus safe migration inside project state
- Export modals (still + animation flows) tightened layout plus scroll-safe behavior on smaller chrome or shorter viewports
[0.2.6] 2026-04-21
Added
- True higher-resolution exports: 1.5×, 2×, 3×, and 4× resolution options for both procedural and image-mode video/GIF exports
- Granular PNG export presets in image mode: 1×, 1.5×, 2×, 3×, 4× — each genuinely re-rasterized, not just upscaled
Improved
- Procedural shader exports now switch the live canvas into a manual-resize mode while recording, so higher-resolution outputs contain real additional detail rather than enlarged pixels
- Export modal UI clarified: each scale shows the resulting pixel dimensions and tier (free / pro), and disables options that would exceed the 8192 px max edge
[0.2.5] 2026-04-18
Added
- Cropping for image layers: crop handles directly on the compositing canvas
- Multi-shader selection in the explore view: select and add several shaders to the canvas at once
Improved
- Text layers now use a full rich text editor with inline formatting and improved layout metrics
- Shader blend modes expanded in the WebGL compositor with richer blending options
- Semantic search in the explore view now jumps the camera to the matched shader node
- Explore page: shader neighbor focus and selection state management, thumbnail previews
[0.2.4] 2026-04-10
Added
- Procedural-to-image bridge: procedural shaders can now be pushed into image mode as compositional layers
- New image layer styling controls: corner radius and shadow
Improved
- Export rendering for still captures is more robust across shader-heavy compositions
- Canvas setup UX now includes live dimension preview in settings flow
- Landing flow: the initial view is now the upgraded canvas initiation modal, and image mode is the default mode as procedural shaders are available there
Fixed
- Shareable card layout and mobile capture behavior are more reliable
- WebGL compositor shader texture handling was tightened to reduce rendering inconsistencies
[0.2.3] 2026-03-26
Added
- Gold on indigo paper shader
[0.2.2] 2026-03-22
Added
- Shareable card export workflow with live preview, copy-to-clipboard, and PNG save actions
- Both image mode and procedural mode
- Modest paper texture overlay on each card
- New shaders: rain window and soap bubble
Improved
- Shareable export modal now resolves shader names from the active export source (image stack vs selected procedural shader)
- Shader parameter UIs now handle binary toggle params and hex color params more cleanly
- New image shader layers and shader switches now initialize parameter state from shader defaults for more predictable behavior
- Halftone and dither shaders improved significantly
Fixed
- Restored WYSIWYG consistency in image exports by capturing from the live compositor at the requested export size
- Fixed broken image export paths across PNG/GIF/MP4/WebM capture flows
- Exported 3D layers now preserve saved camera pose more reliably during frame rendering
- Shader pass execution now merges default shader params with layer overrides to prevent missing-default rendering issues
- Fixed card overlay shader loading paths and added type coverage for card shader registries
[0.2.1] 2026-03-20
Added
- More reliable image-mode export pipeline for complex layer stacks
- Export warmup controls to help animations and 3D renders start cleanly before capture
Improved - Performance
- Smoother zooming and panning in the compositing canvas, with less stutter during interaction
- Faster and more stable frame capture for exports, especially in scenes with 3D layers
- Better GPU-to-export synchronization to reduce capture hiccups and inconsistent frames
Fixed
- Procedural export now correctly waits for async pre-capture work
- GIF exports are more consistent across longer captures
[0.2.0] 2026-03-18
Added — 3D layers in image mode
- 3D layers as a new layer type within the image compositing stack
- Eleven 3D primitives: sphere, torus, box, icosahedron, cylinder, torusKnot, plane, wobblingPlane, text, svgExtrude, meshFile
- Torus knot parameters (knot P and Q) for richer knot variants
- Surface mode selection: solid, wireframe, edge, vertex instance or point cloud
- 3D edit mode: double-click a 3D layer (or use context menu / stack panel) to enter orbit camera editing; camera pose is saved when exiting
- Text primitive: 3D extruded text with content and styling controls
- SVG extrusion: extrude SVG paths to 3D with depth, bevel (thickness, size, segments) and optional file import
- Custom mesh uploads: OBJ, STL, and PLY formats for meshFile primitive
- Animated rotation: continuous rotation with configurable speed and axis (x, y, z, xyz)
- Extended lighting controls: point light (azimuth, elevation, distance) and directional light parameters
Improved
- 3D is inline-only in image mode — removed standalone 3D mode; 3D layers live alongside other compositional layers
- Scene management: null checks for critical components and updated default material colors for consistency
- Layer processing: ThreeDLayer is converted to image format before compositional checks for correct export and compositing flow
- Workspace context menu: "edit 3d scene" action for 3D layers
[0.1.9] 2026-03-11
Added
- Snapping functionality for layer positioning in the compositing canvas
- Image layer transformations: flip horizontal and flip vertical
- Aspect ratio locking for image layers during resizing
- New layer management operations:
- Merge down (merges selected layer with the one below)
- Merge visible (collapses all visible layers into one)
- Flatten to image (renders everything into a single static image layer)
- Categorized canvas presets (Social Media, Web, Presentations, Print) loaded from a local JSON configuration
- Customizable workspace context menu with custom right-click behavior
- Canvas pan functionality - togglable with the hotkey G
Improved
- Standardized context menu labels for better UI consistency
- Refactored layer squashing and merging logic for reliability
- Optimized UV mapping and location binding in the WebGL compositor
- Geometric shader masks can be positioned from the canvas, not only from the sliders like before
- Canvas zooming behavior: no longer just locks to the left of the canvas
- Wrapped export settings in desktop within an accordion to presere screen real estate
Fixed
- Restored missing grain effect in the Chladni Cymatics shader
- Canvas automatically zooming down on mobile on load
[0.1.8] 2026-03-09
Added
- Video & GIF exports in both procedural and image lab
- Parameters can be tweaked during the export; everything will be captured in real-time
[0.1.7] 2026-03-04
Improved
- Semantic search modal filters by shaders' IDs copied from the explore view
- Fixed before:after functionality in the editor canvas
[0.1.6] - 2026-02-26
Added
- Interactive 3D visualization of the semantic shader space at /explore
- Drag-and-drop image support for the image lab
- Saving projects as .shaderlab files
- Loading projects from .shaderlab files
[0.1.5] - 2026-02-24
Added
- Preliminary Google Fonts integration
- Popular fonts available
- Local font upload support
- Ko-fi support link
[0.1.4] - 2026-02-23
Added
- Semantic embeddings + search
- enables vibes-based shader search
- implemented via search query's cosine similarity to shader description vector embeddings
- Gradient layers
- linear, radial, conic
- enabled palette generation from images
Improved
- Blur effect no longer leaks between layers, but only applies to the selected layer like it should
- Layer name truncation in the stack panel: no more horizontal layout shifts with lengthy layer names
[0.1.3] - 2026-02-21
Added
- Transparency in the control menu on mobile so the color changes of the shader can be seen better
[0.1.2] - 2026-02-17
Added
- Initial changelog setup
- Basic image layer luminosity sliders (brightness, contrast, exposure)
- Film image shader category with five shaders
Improved
- Paper texture image shader optimization
- less loop iterations
- branchless masking
- flattened uv transforms
- removed voronoi creases completely for now
- no longer exposing rgb tint uniforms via UI
- Text processing in the compositional editor
- container box is resizeable from the canvas
- text overflow is handled baed on width of the container box
- double-click to edit actually lets text be edited
- Mobile UI layout
- moved UI toggle in procedural mode from header to a blurred floating button in the bottom right
- added changelog access via a hamburger menu on both modes
[0.1.1] - 2026-02-16
Added
- Initial release