diff --git a/CHANGELOG.md b/CHANGELOG.md index 05b10c9..3390c42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ Follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) · versioned wi ## [Unreleased] ### Changed +- **Engine support namespace migration.** ElevenLabs browser state, custom engine cards, and local-container discovery + now use a private scope with explicit compatibility exports and a `window.TTVC.engines` API. - **Routing namespace migration.** Route configuration, sound selection, speed previews, routing tests, and routing-log rendering now use a private scope with live compatibility accessors and a `window.TTVC.routing` API. - **Voice-source namespace migration.** Source URL management, filtering, source metadata normalization, and library diff --git a/VERSION b/VERSION index 3b3fac8..5297a1a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.24.78 +1.24.79 diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 1adf4a7..8bf824c 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -68,6 +68,7 @@ Done incrementally as global-scope ordered files (no ES-module change needed) - ✅ Voice-clone audio, recording, and design controls use a private scope with explicit compatibility exports. - ✅ Voice-source discovery and import helpers use a private scope with explicit source-list/import compatibility exports. - ✅ TTS routing configuration and routing-log UI use a private scope with live route/sound compatibility accessors. +- ✅ Engine browser, custom-card, and local-container helpers use a private scope with an explicit namespace API. - ✅ `static/css/resource-diagnostics.css` — isolated Performance/resource diagnostic panel styles. - ✅ `static/css/background-jobs.css` — isolated background-job history and retry-panel styles. - ✅ `static/css/voice-design.css` — isolated Voice Design form, samples, and preview-match styles. diff --git a/static/index.html b/static/index.html index 78527b0..e6ce042 100644 --- a/static/index.html +++ b/static/index.html @@ -10,7 +10,7 @@ - + @@ -27,12 +27,12 @@ - - - - - - + + + + + + @@ -397,7 +397,7 @@ window.toggleNavTree = function(treeId, chevronId) { - + diff --git a/static/js/engines.js b/static/js/engines.js index a64f71d..dcde276 100644 --- a/static/js/engines.js +++ b/static/js/engines.js @@ -1,5 +1,7 @@ // ── ElevenLabs Voice Library Browser ────────────────────────────────────── +(function (root) { + let _elevenLabsBrowserReady = false; function initElevenLabsBrowser() { if (_elevenLabsBrowserReady || !$('el-browser-card')) return; @@ -846,3 +848,18 @@ function renderLocalContainers(containers) { } document.querySelectorAll('.dc-refresh-btn').forEach(b => b.addEventListener('click', loadLocalContainers)); + +Object.assign(root, { + _elevenLabsBrowserReady, initElevenLabsBrowser, _localContainersLoadSeq, + loadCustomEngineCards, saveCustomEngineCards, DC_USE_MAP, DC_ROLE_USE, + editCustomEngineCard, _lastLocalContainers, cardType, _dcSkel, + fetchLocalContainersWithRetry, loadLocalContainers, renderLocalContainers, +}); +root.TTVC = root.TTVC || {}; +root.TTVC.engines = root.TTVC.engines || {}; +Object.assign(root.TTVC.engines, { + browser: { init: initElevenLabsBrowser }, + cards: { load: loadCustomEngineCards, save: saveCustomEngineCards, edit: editCustomEngineCard }, + containers: { load: loadLocalContainers, render: renderLocalContainers }, +}); +})(window);