Story 5.2: Video Widget Width Customization

Implements configurable video widget widths for small and large dock layouts:
- Add widgetWidthSm and widgetWidthMd world settings (defaults: 83px, 150px)
- Add width dropdown selectors in Director's Board UI
- Apply width settings to participant avatars via CSS custom properties
- Update strip width/height calculations to use custom widths
- Add localization strings for widget width settings
- Add CSS styling for widget width dropdown controls
- Fix Handlebars template syntax for select element selected values

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-05-25 12:43:06 +02:00
parent 748c7d7f85
commit 7a0d935239
15 changed files with 1967 additions and 19 deletions
+17
View File
@@ -150,6 +150,23 @@ Hooks.once("init", () => {
onChange: () => roleRenderer?.rerenderStrip(),
});
// Story 5.2: Video widget width customization — world-scoped settings for small and large tile widths
adapter.settings.register("widgetWidthSm", {
scope: "world",
config: false,
type: String,
default: "83",
onChange: () => roleRenderer?.rerenderStrip(),
});
adapter.settings.register("widgetWidthMd", {
scope: "world",
config: false,
type: String,
default: "150",
onChange: () => roleRenderer?.rerenderStrip(),
});
// Construct data layer — constructors are side-effect-free
// Note: ScenePresetManager is constructed in 'ready' hook after visibilityManager is available
stateStore = new StateStore(adapter.settings);