Skip to content

Modular by Design v1.3.4

Choose a tag to compare

@barkermn01 barkermn01 released this 15 May 19:07
· 73 commits to main since this release
2f2ace0

Module Simulation System Overhaul

  • Simulation logic moved out of the editor and into modules themselves
  • Modules now expose window[name] = { _main, _simulator } with an editorRegister() method
  • Editor dynamically loads and registers simulators per placed instance
  • Proper cleanup on module delete, scene switch, and re-render
  • New editorClass field in info.json — any new module can provide its own editor preview and simulation without touching editor code
  • Developer Guide updated with the new module authoring pattern

Chat Module Fixes

  • CSS gradient rendering — uses SVG foreignObject to let the browser render backgrounds natively (pixel-perfect multi-layer gradients)
  • Border styles — ridge, groove, and other complex border-styles now render correctly via the same CSS capture approach
  • Badge alignment — badges vertically centered with text, respects padding when badges are larger than font
  • NameOnNewLine — new setting to display username on a separate line above the message
  • allowClipping — when disabled, partially-visible messages are hidden entirely instead of being visually clipped
  • hideBots moved into ChatBoxes section for better organisation
  • Removed obsolete settings: BeforeCanvas, MessageArea, platforms (YouTube/Twitch colors)
  • Fixed async rendering cache timing (data URLs for near-synchronous loading)

Editor Improvements

  • Canvas Settings dropdown — replaces inline width/height inputs with a clean dropdown menu
  • Lock to Canvas — new toggle that constrains both move and resize to canvas bounds (fixes resize escaping the canvas)
  • Layer visibility toggle — eye icon on each layer to show/hide modules without deleting them; hidden layers are dimmed with strikethrough
  • Settings panel fix — module tabs now always appear when opening settings from the properties panel button
  • Dynamic settings tabs — modules with hasSettings automatically get a settings tab
  • Schema labels & tooltips — all settings fields now have explicit labels and hover tooltips

Media Library

  • Fixed OS file drag-drop — files dragged from Windows Explorer now correctly copy to the media folder (uses Electron's webUtils.getPathForFile for sandboxed mode)

Documentation

  • README updated with correct project structure
  • Developer Guide wiki added: module creation, schema system, draw signatures, WebSocket format