Repository navigation
Release - Read to use beta version
A major update bringing a modular architecture, canvas-based chat, webcam support, and a cleaner config system.
Highlights
π§© Module Discovery System β Modules now live in their own directories with info.json manifests. Drop a folder into www/modules/ to add custom modules.
π¬ Canvas-Based Chat β Chat completely rewritten to render directly to canvas. Supports linear gradients (multiple layers), text-shadow, drop-shadow, borders, fit-content width, and right-alignment.
π· Webcam Module β New module for live camera feeds. Supports device selection, mirror, circle/rounded masks. Works with virtual cameras like XSplit VCam.
π¬ Scene System Overhaul β Draw order now follows config order. Multi-instance support for images and videos. Custom IDs preserved on save.
What's New
Modules
- New webcam module with device picker and mask options
- Modules restructured into
www/modules/{name}/directories modules.jsonmanifest maps module names to their info filesinfo.jsondefines metadata, settings schema, and entrypointallowMultipleflag controls whether duplicates are allowed per scene
Editor
- Dynamic palette built from module discovery (no hardcoded items)
- Scene duplication (β§ button)
- Scene rename via double-click
- Live chat preview with π¬ test message and π clear buttons
- Image modules now render in Play All mode
- WebSocket Admin tool (π‘) for sending raw messages to overlay
- Layer names simplified to icon + ID
- Custom module IDs saved correctly to config
Chat
- Full canvas rewrite β no DOM elements
- Multiple stacked linear-gradient backgrounds
- text-shadow and drop-shadow (filter) support
- font-size, border-width, fit-content width, right-alignment
- localStorage message persistence
- Removed: split/separated chat mode, chat.css
Config
- All
_type/_item_typemetadata moved to moduleinfo.jsonschema fields - Config is now pure data β no metadata keys
- Build uses
config.example.jsas release config (no personal data leaks) - Build reads version from package.json (no more hardcoded override)
Installer
- Preserves
www/media/andwww/config.jsduring updates/reinstalls - PATH manipulation retained for CLI access
Fixes
- Removed debug logging from audio visualiser and media panel
- Fixed scene tab double-click rename (click/dblclick conflict)
- Fixed draw order (scene config order = z-order)
- OBS URL always includes
?allowaudio=true - Electron camera permissions auto-granted
--disable-features=MediaFoundationVideoCapturefor shared virtual camera access
Upgrade Notes
- If upgrading from v1.2.x, your existing
config.jswill work β the system falls back to_typein config if no schema is found in info.json - The
www/modules/directory structure has changed β old flat.jsfiles are now in subdirectories chat.csshas been removed (chat is fully canvas-based now)