All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
GossamerRenderer class for canvas-based ASCII rendering
- Cell-based rendering with configurable cell size
- Animation loop with FPS limiting
- Support for ImageData and brightness grid inputs
- Per-character color rendering
-
Pattern generators for procedural effects
perlinNoise2D- Classic Perlin noisefbmNoise- Fractal Brownian Motion for organic patternswavePattern- Sine/cosine wave interferenceripplePattern- Concentric circular wavesstaticNoise/seededNoise2D- Random and reproducible noisegenerateBrightnessGrid- Main pattern-to-grid function
-
12 built-in character sets
- Standard, Dense, Minimal, Grove, Dots, Blocks
- Lines, Stars, Nature, Weather, Binary, Math
- Utilities:
getCharacterSet,createCharacterSet,invertCharacters
-
Animation utilities
createAnimationLoop- Managed loop with start/stop/pause/resumethrottle/debounce- Rate limiting functionscalculateFPS- Performance monitoringeasings- Animation easing functions (linear, easeIn, easeOut, bounce, etc.)
-
Canvas utilities
createCanvas,resizeCanvasToContainer,createOffscreenCanvasoptimizeContext,setupTextRendering,setBlendMode
-
Image utilities
loadImage,loadAndScaleImage,imageToPixelDatasampleImageCells,extractBrightness- Color functions:
rgbToHex,hexToRgb,adjustBrightness,adjustContrast
-
Performance utilities
createVisibilityObserver- Pause when off-screencreateResizeObserver- Handle container resizingprefersReducedMotion/onReducedMotionChange- AccessibilityisLowPowerMode,getRecommendedFPS- Device adaptationisBrowser,isCanvasSupported- Environment detection
-
5 Svelte 5 components
GossamerClouds- Animated ambient background patternsGossamerImage- Image to ASCII transformation with hover revealGossamerText- ASCII-styled text with animation effectsGossamerOverlay- Composite effects with blend modesGossamerBorder- Decorative ASCII borders (6 styles)
-
11 presets organized by category
- Grove:
grove-mist,grove-fireflies,grove-rain,grove-dew - Seasonal:
winter-snow,autumn-leaves,spring-petals,summer-heat - Ambient:
ambient-static,ambient-waves,ambient-clouds
- Grove:
-
Preset utilities
getPreset,getPresetNames,getPresetsByCategory
- All canvas elements marked
aria-hidden="true" prefers-reduced-motionsupport in all animated components- Visibility-based animation pausing (IntersectionObserver)
- Screen-reader text for GossamerText component
- 107 unit tests passing
- Core package: 85 tests (characters, patterns, animation, index)
- Svelte package: 22 tests (presets)
- Full project specification (
docs/SPEC.md) - API reference (
docs/API.md) - Package READMEs
For migration guides and detailed release notes, see GitHub Releases.