CONFLICT HOTSPOT REPORT Generated: 2026-03-10T16:59:35+01:00 1. Named functions count: 191 2. Arrow-style function assignments count: 49 3. window.* assignments count: 52 4. Modal-related lines count: 255 5. Render/init/event lines count: 275 6. API call lines count: 30 7. Duplicate named functions: 3 q 3 boot 2 updatePreviewPanel 2 updateOnAirPanel 2 suppressLegacyInlineVisibility 2 suppressInlineOpeners 2 showModal 2 removeDedicatedWorkspaceText 2 qq 2 prep 2 liftOverlayComposer 2 hideModal 2 findOverlayComposerRoot 2 ensureStyle 2 ensurePlaceholder 2 ensureModal 2 closeOverlayModal 8. Duplicate window symbols: 16 __LK_DEBUG 9 GuestStudio 8 __STREAM_CFG 8 __modalHide 7 ITAHUKA_PROJECT 6 VirtualStudio 6 TransitionStudio 6 projectId 6 openFxSettings 6 MediaStudio 6 CURRENT_PROJECT_ID 5 renderGuestStudio 5 fxState 4 __modalShow 4 lkRoom 4 LivekitClient 3 saveGuidesFromPanel 3 resetGuidesPanel 3 openOverlayComposer 3 appState 3 addEventListener 2 streamState 2 slots 2 openVirtualStudioLauncher 2 openTransitionStudioLauncher 2 openOverlayComposerHardModal 2 openMediaStudioLauncher 2 __ocOpenComposerInner 2 innerWidth 2 currentProject 2 closeOverlayComposerHardModal 9. Duplicate IDs: 2 ' + TITLE_ID + ' 2 ' + MOUNT_ID + ' 2 cpOverlayHardModalClose 2 cp-overlay-composer-hard-modal-patch 10. Top modal/open/close functions: 420: function showModal(){ 427: function hideModal(){ 492: function closeOverlayModal(){ 796: function showModal(){ 803: function hideModal(){ 868: function closeOverlayModal(){ 2078:function openGuestFramingModal(slotIdx){ 2289:function openSkin(){ 2294:function closeSkin(){ 4636:function openMediaEditor(id) { 4643:function closeMediaModal() { 4920:function openStreamModal() { 4925:function closeStreamModal() { 5318:function openFxSettings(kind, id, name) { 5327:function closeFxModal() { 5452:function openGuidesSettings() { 5457:function closeGuidesSettings() { 11. Top render/init functions: 2918:function renderUI(){ 3546:function renderMediaThumbs(){ 4973:function renderStreamLog(){ 5035:function renderStreamList(statusMap){ 5997:function renderVirtual(stage, baseSrc, isPreview, layoutId, layoutSettings){ 6117:function renderOverlays(layer, overlaysEnabled, overlaysSettings){ 6346:function renderSnapshotInto(container, snap, isPreview, withGuides){ 12. DOMContentLoaded / global listeners: 273: document.addEventListener('DOMContentLoaded', function(){ 287: document.addEventListener('keydown', function(ev){ 362: document.addEventListener('keydown', function(ev){ 539: document.addEventListener('dblclick', function(ev){ 593: document.addEventListener('DOMContentLoaded', boot, {once:true}); 661: document.addEventListener('DOMContentLoaded', function(){ 663: document.addEventListener('keydown', function(ev){ 738: document.addEventListener('keydown', function(ev){ 915: document.addEventListener('dblclick', function(ev){ 969: document.addEventListener('DOMContentLoaded', boot, {once:true}); 2362:document.addEventListener("keydown",(e)=>{ 2475:window.addEventListener("resize", applyFit); 2552:window.addEventListener("beforeunload", ()=>{ 2558:window.addEventListener("pagehide", ()=>{ 2564:document.addEventListener("visibilitychange", ()=>{ 4918:document.addEventListener("keydown",(e)=>{ if (e.key === "Escape" && streamModal.classList.contains("show")) closeStreamModal(); }); 5508:document.addEventListener("click", (ev)=>{ 5516:document.addEventListener("change", (ev)=>{ 5525:document.addEventListener("keydown", (ev)=>{ 6742: document.addEventListener('keydown', function(ev){ 6747: if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot, {once:true}); else boot(); 6758: if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', dedupeGuidesSettingsButton, {once:true});