Procedural Canvas Effects Engine, Edit Code & Dual-Pass Bloom Glow
Directly convert standard effects to editable Canvas 2D scripts with CustomEffectModal, animatable Logic Intelligence parameters, and radial pattern distribution.
"Edit Code" for All Standard Effects
Added a dedicated Code button to all effect rows in the Properties panel. Standard effects (BackgroundBlur, Glow, LightTrail, PatternGrid, PathDistortion) can be instantly converted into clean, editable Canvas 2D procedural scripts and opened in the CustomEffectModal.
Procedural Canvas Effects Engine
Full custom script execution engine (CustomEffect) with sandbox evaluation, live parameter schema parser, and presets (glass_blur, neon_glow, light_trail, pattern_grid, neon_outline, emboss, voronoi).
Logic Intelligence for Effects & Custom Scripts
Animatable and bindable effect parameters in the Logic Intelligence graph (speed, seedCount, radius, intensity, lineColor) with cross-object property binding via object_ref and full synchronization across Editor, packages/react, and packages/react-native.
Pattern Grid Radial Layout & New Shapes
Introduced Radial concentric ring distribution with dynamic circumference calculation, alongside new Dots, Plus (orthogonal crosshairs), and Line (horizontal stripes) shapes with case-insensitive normalization.
Dual-Pass Bloom Glow
Upgraded Glow to a cinematic dual-pass bloom with a tight luminous core aura (0.45x radius) and wide ambient atmospheric dispersion (1.15x radius) with fractional intensity support.
Light Trail Engine Parity
Added applyLightTrailUnderlay and frame-by-frame trailHistories tracking to packages/react/src/engine.ts with motion scale tapering and local-frame rotation projection matrix.
Minimalist 6-Tile Effect Picker
Streamlined effect insertion grid into 6 clean tiles (Blur, Glow, Trail, Distort, Pattern, Custom) with simplified 24px single-row headers.
Blur Alpha Leak
Removed debug ctx.globalAlpha = 0.2 leftover in useCanvasObjects.ts that inadvertently washed out and dimmed all blurred objects.
Light Trail Stack Overflow
Replaced unbalanced ctx.restore() calls with strict per-ghost ctx.save() ... ctx.restore() pairs and rotation projection, completely eliminating animation playback freezes in WebKit/Blink.
WebKit Flexbox Button Collapse
Replaced HTML <button> cards with accessible <div role="button"> wrappers to resolve macOS WebKit flexbox row collapse.