{
  "version": 3,
  "sources": ["/cdn/shop/t/107/assets/panel-led-v4.etap2-r2c-visible-pool-cutover.js?e2r2drev36=20260917"],
  "sourcesContent": ["/* =========================================================\r\n   CANFOTO / GDX \u2014 ETAP 2 R2-C\r\n   PANEL DYNAMIC VISIBLE POOL CUTOVER / SOURCE-DERIVED CARDINALITY\r\n   Version: PANEL-V4-ETAP2-R6-2H-A-R1-VISIBLE-POOL-DYNAMIC-CARDINALITY\r\n\r\n   PURPOSE:\r\n   - Promote the sealed R2-B canonical owner to\r\n     GDX_PANEL_LED_V4.state.products.\r\n   - Keep BARE_LIGHT + SINGLE_READY_SET only.\r\n   - Keep EXCLUDED_MULTI_LIGHT / HOLD out of visible/scoring pool.\r\n   - Preserve live Shopify product/price/stock/variant truth carried by\r\n     the normalized products.\r\n   - Re-emit data:loaded so existing UI/recommender/setup consumers\r\n     rebuild from the new canonical pool.\r\n   - Wrap loadProducts so later calls cannot silently fall back to the\r\n     legacy pre-cutover source.\r\n\r\n   IMPORTANT:\r\n   - Score formulas are NOT duplicated here.\r\n   - Ranking formulas are NOT duplicated here.\r\n   - P47 production apply is NOT opened here.\r\n   - Setup geometry is NOT changed here.\r\n   - Background/V27 work remains R3/R4.\r\n   ========================================================= */\r\n(function(window, document){\r\n  \"use strict\";\r\n\r\n  var VERSION=\"PANEL-V4-ETAP2-R6-2H-A-R1-VISIBLE-POOL-DYNAMIC-CARDINALITY\";\r\n  var root=window.GDX_PANEL_LED_V4;\r\n  if(!root||!root.ready) return;\r\n  if(window.GDX_PANEL_LED_V4_ETAP2_R2C_VISIBLE_POOL_CUTOVER) return;\r\n\r\n  var state={\r\n    version:VERSION,\r\n    status:\"IDLE\",\r\n    applying:false,\r\n    active:false,\r\n    appliedAt:null,\r\n    error:\"\",\r\n    beforeCount:null,\r\n    afterCount:null,\r\n    beforeProducts:null,\r\n    beforeRawProducts:null,\r\n    beforeParserAudit:null,\r\n    originalLoadProducts:null,\r\n    wrapperInstalled:false,\r\n    emitCount:0,\r\n    deferredBlockCount:0,\r\n    blockedLoadCount:0,\r\n    bootAutoApplyRetired:true,\r\n    activationSource:\"\"\r\n  };\r\n  var promise=null;\r\n\r\n  function clean(v){return String(v==null?\"\":v).replace(/\\s+/g,\" \").trim()}\r\n  function resultGateActive(){\r\n    var gate=window.CANFOTO_PANEL_DEFERRED_RESULTS_GATE||null;\r\n    return !!(gate&&typeof gate.isActive===\"function\"&&gate.isActive()===true);\r\n  }\r\n  function canonicalApi(){return window.GDX_PANEL_LED_V4_ETAP2_R2B_CANONICAL_POOL||null}\r\n  function laneCounts(products){\r\n    var out={};\r\n    (products||[]).forEach(function(p){\r\n      var lane=clean(p&&p.etap2&&p.etap2.lane)||\"UNKNOWN\";\r\n      out[lane]=(out[lane]||0)+1;\r\n    });\r\n    return out;\r\n  }\r\n  function cloneArray(v){return Array.isArray(v)?v.slice():[]}\r\n  function visibleCards(){return Array.prototype.slice.call(document.querySelectorAll(\".gdx-panel-v4-product-card[data-gdx-panel-product]\"))}\r\n  function cardHandles(){return visibleCards().map(function(card){return clean(card.getAttribute(\"data-gdx-panel-product\"))}).filter(Boolean)}\r\n\r\n  function captureBefore(){\r\n    if(state.beforeProducts) return;\r\n    state.beforeProducts=cloneArray(root.state&&root.state.products);\r\n    state.beforeRawProducts=cloneArray(root.state&&root.state.rawProducts);\r\n    state.beforeParserAudit=root.state?root.state.parserAudit:null;\r\n    state.beforeCount=state.beforeProducts.length;\r\n  }\r\n\r\n  function markState(products){\r\n    root.state.etap2=Object.assign({},root.state.etap2||{}, {\r\n      visiblePoolOwner:\"GDX_PANEL_LED_V4_ETAP2_R2B_CANONICAL_POOL\",\r\n      visiblePoolCutoverVersion:VERSION,\r\n      visiblePoolCount:products.length,\r\n      cutoverAt:new Date().toISOString(),\r\n      lanes:laneCounts(products),\r\n      stockNeutralRanking:true,\r\n      multiLightExcluded:true\r\n    });\r\n  }\r\n\r\n  function emitLoaded(products){\r\n    state.emitCount+=1;\r\n    try{\r\n      root.emit(\"data:loaded\",{\r\n        state:root.state,\r\n        products:products,\r\n        rawProducts:root.state.rawProducts||[],\r\n        etap2R2CVisiblePoolCutover:true,\r\n        version:VERSION\r\n      });\r\n    }catch(_){}\r\n    try{\r\n      document.dispatchEvent(new CustomEvent(\"canfoto:panel-etap2-r2c-visible-pool-ready\",{\r\n        detail:{version:VERSION,productCount:products.length}\r\n      }));\r\n    }catch(_){}\r\n    /* REV3.4: data:loaded is the single UI render trigger; duplicate UI.render removed. */\r\n  }\r\n\r\n  function installLoadWrapper(){\r\n    if(state.wrapperInstalled||typeof root.loadProducts!==\"function\") return;\r\n    state.originalLoadProducts=root.loadProducts;\r\n    root.loadProducts=function(options){\r\n      options=options||{};\r\n\r\n      if(!resultGateActive()&&options.allowDeferred!==true){\r\n        state.blockedLoadCount+=1;\r\n        return Promise.resolve(\r\n          Array.isArray(root.state&&root.state.products)\r\n            ? root.state.products.slice()\r\n            : []\r\n        );\r\n      }\r\n\r\n      if(state.applying&&promise){\r\n        return Promise.resolve(promise).then(function(){\r\n          return root.state.products;\r\n        });\r\n      }\r\n\r\n      if(state.active&&options.force!==true){\r\n        return Promise.resolve(root.state.products);\r\n      }\r\n\r\n      var base;\r\n      try{base=state.originalLoadProducts.call(root,options)}catch(err){base=Promise.reject(err)}\r\n      return Promise.resolve(base).then(function(){\r\n        return apply({\r\n          force:true,\r\n          emit:true,\r\n          source:clean(options.source||\"LOAD_PRODUCTS_AFTER_EXPLICIT_APPLY\")\r\n        }).then(function(){return root.state.products});\r\n      });\r\n    };\r\n    root.__etap2R2CLoadProductsWrapped=true;\r\n    state.wrapperInstalled=true;\r\n  }\r\n\r\n  function apply(options){\r\n    options=options||{};\r\n\r\n    if(!resultGateActive()&&options.allowDeferred!==true){\r\n      state.deferredBlockCount+=1;\r\n      state.status=\"DEFERRED_WAITING_FOR_EXPLICIT_APPLY\";\r\n      return Promise.resolve(snapshot());\r\n    }\r\n\r\n    state.activationSource=clean(options.source||\"EXPLICIT_APPLY\");\r\n    if(state.applying&&promise) return promise;\r\n    if(state.active&&!options.force) return Promise.resolve(snapshot());\r\n\r\n    var api=canonicalApi();\r\n    if(!api||typeof api.activate!==\"function\"||typeof api.getProducts!==\"function\"){\r\n      return Promise.reject(new Error(\"R2C_R2B_CANONICAL_OWNER_MISSING\"));\r\n    }\r\n\r\n    state.applying=true;\r\n    state.status=\"APPLYING\";\r\n    state.error=\"\";\r\n    captureBefore();\r\n\r\n    promise=api.activate({force:options.force===true}).then(function(snap){\r\n      if(!snap||snap.ok!==true||Number(snap.productCount)<=0){\r\n        throw new Error(\"R2C_CANONICAL_OWNER_NOT_READY\");\r\n      }\r\n      var products=api.getProducts();\r\n      var lanes=laneCounts(products);\r\n      var laneKeys=Object.keys(lanes);\r\n      var laneTotal=Number(lanes.BARE_LIGHT||0)+Number(lanes.SINGLE_READY_SET||0);\r\n      if(products.length!==Number(snap.productCount)){\r\n        throw new Error(\"R2C_CANONICAL_COUNT_PARITY_MISMATCH\");\r\n      }\r\n      if(!laneKeys.every(function(k){return k===\"BARE_LIGHT\"||k===\"SINGLE_READY_SET\"})||laneTotal!==products.length){\r\n        throw new Error(\"R2C_CANONICAL_LANE_PARTITION_MISMATCH\");\r\n      }\r\n      if(products.some(function(p){return Number(p&&p.etap2&&p.etap2.lightUnitCount||0)>=2})){\r\n        throw new Error(\"R2C_MULTI_LIGHT_IN_VISIBLE_POOL\");\r\n      }\r\n\r\n      root.state.products=products.slice();\r\n      root.state.rawProducts=products.map(function(p){return p&&p.raw?p.raw:null}).filter(Boolean);\r\n      try{\r\n        root.state.parserAudit=typeof root.buildParserAudit===\"function\"?root.buildParserAudit(root.state.products):root.state.parserAudit;\r\n      }catch(_){}\r\n      root.state.loaded=true;\r\n      root.state.loading=false;\r\n      root.state.error=\"\";\r\n      root.state.loadedAt=new Date().toISOString();\r\n      markState(products);\r\n\r\n      state.afterCount=products.length;\r\n      state.appliedAt=new Date().toISOString();\r\n      state.active=true;\r\n      state.applying=false;\r\n      state.status=\"VISIBLE_POOL_DYNAMIC_ACTIVE\";\r\n      promise=null;\r\n      installLoadWrapper();\r\n      if(options.emit!==false) emitLoaded(root.state.products);\r\n      return snapshot();\r\n    }).catch(function(err){\r\n      state.applying=false;\r\n      state.active=false;\r\n      state.status=\"ERROR\";\r\n      state.error=err&&err.message?err.message:String(err);\r\n      promise=null;\r\n      throw err;\r\n    });\r\n    return promise;\r\n  }\r\n\r\n  function rollbackRuntime(){\r\n    if(!state.beforeProducts) return {ok:false,version:VERSION,error:\"NO_RUNTIME_PRESTATE\"};\r\n    root.state.products=state.beforeProducts.slice();\r\n    root.state.rawProducts=(state.beforeRawProducts||[]).slice();\r\n    root.state.parserAudit=state.beforeParserAudit;\r\n    try{delete root.state.etap2}catch(_){}\r\n    if(state.originalLoadProducts){\r\n      root.loadProducts=state.originalLoadProducts;\r\n      try{delete root.__etap2R2CLoadProductsWrapped}catch(_){}\r\n    }\r\n    state.active=false;\r\n    state.wrapperInstalled=false;\r\n    state.status=\"ROLLED_BACK_RUNTIME\";\r\n    emitLoaded(root.state.products);\r\n    return {ok:true,version:VERSION,restoredProductCount:root.state.products.length};\r\n  }\r\n\r\n  function snapshot(){\r\n    var products=cloneArray(root.state&&root.state.products);\r\n    var lanes=laneCounts(products);\r\n    return Object.freeze({\r\n      ok:state.active&&state.status===\"VISIBLE_POOL_DYNAMIC_ACTIVE\"&&products.length>0,\r\n      version:VERSION,\r\n      status:state.status,\r\n      appliedAt:state.appliedAt,\r\n      beforeCount:state.beforeCount,\r\n      productCount:products.length,\r\n      laneCounts:Object.freeze(lanes),\r\n      emitCount:state.emitCount,\r\n      deferredBlockCount:state.deferredBlockCount,\r\n      blockedLoadCount:state.blockedLoadCount,\r\n      bootAutoApplyRetired:state.bootAutoApplyRetired===true,\r\n      activationSource:state.activationSource,\r\n      products:products,\r\n      noTouch:Object.freeze({\r\n        scoreFormulaMutation:false,\r\n        fpFormulaMutation:false,\r\n        p47ProductionApply:false,\r\n        setupGeometryMutation:false,\r\n        backgroundRendererMutation:false,\r\n        commerceTruthMutation:false,\r\n        shareMutation:false\r\n      })\r\n    });\r\n  }\r\n\r\n  function purposeParity(){\r\n    var api=canonicalApi();\r\n    var rec=window.GDX_PANEL_LED_V4_RECOMMENDER;\r\n    var brain=window.GDX_PANEL_LED_V4_BRAIN;\r\n    var families=[];\r\n    try{families=brain&&typeof brain.listFamiliesForUi===\"function\"?brain.listFamiliesForUi():[]}catch(_){families=[]}\r\n    var rows=[];\r\n    (families||[]).forEach(function(f){\r\n      var key=clean(f&&f.key); if(!key)return;\r\n      var expected=(api&&api.getPurposeOrder?api.getPurposeOrder(key):[]).slice(0,3).map(function(x){return clean(x.handle||x.productKey)});\r\n      var actual=[];\r\n      try{\r\n        var r=rec&&typeof rec.recommend===\"function\"?rec.recommend({familyKey:key,limit:3,includeOutOfStock:true,purchaseLane:\"ALL\"}):null;\r\n        actual=(r&&r.items||[]).slice(0,3).map(function(x){return clean(x&&x.product&&x.product.handle||x&&x.productKey)});\r\n      }catch(_){}\r\n      rows.push({usecaseKey:key,expected:expected,actual:actual,match:expected.length===3&&actual.length===3&&expected.every(function(h,i){return h===actual[i]})});\r\n    });\r\n    return rows;\r\n  }\r\n\r\n  function debug(){\r\n    var s=snapshot();\r\n    var products=s.products||[];\r\n    var handles=products.map(function(p){return clean(p.handle)}).filter(Boolean);\r\n    var singles=products.filter(function(p){return clean(p&&p.etap2&&p.etap2.lane)===\"SINGLE_READY_SET\"});\r\n    var multis=products.filter(function(p){return Number(p&&p.etap2&&p.etap2.lightUnitCount||0)>=2});\r\n    var domHandles=cardHandles();\r\n    var parity=purposeParity();\r\n    var bootstrap=null;\r\n    try{bootstrap=typeof window.debugPanelV4R28BootstrapPersistentRepair===\"function\"?window.debugPanelV4R28BootstrapPersistentRepair():null}catch(_){}\r\n    var selectionSync=null;\r\n    try{selectionSync=typeof window.debugPanelV4Etap2R2C2SelectionRecommendationSync===\"function\"?window.debugPanelV4Etap2R2C2SelectionRecommendationSync():null}catch(_){}\r\n    var uiApi=window.GDX_PANEL_LED_V4_UI||null;\r\n    var currentPoolLane=clean(uiApi&&uiApi.state&&uiApi.state.purchaseLane)||\"ALL\";\r\n    if([\"ALL\",\"BARE_LIGHT\",\"SINGLE_READY_SET\"].indexOf(currentPoolLane)<0)currentPoolLane=\"ALL\";\r\n    var expectedDomCount=currentPoolLane===\"BARE_LIGHT\"\r\n      ? Number(s.laneCounts.BARE_LIGHT||0)\r\n      : (currentPoolLane===\"SINGLE_READY_SET\"?Number(s.laneCounts.SINGLE_READY_SET||0):s.productCount);\r\n    var checks={\r\n      visiblePoolCutoverActive:s.ok===true,\r\n      visibleProductCountPositive:s.productCount>0,\r\n      lanePartitionComplete:Number(s.laneCounts.BARE_LIGHT||0)+Number(s.laneCounts.SINGLE_READY_SET||0)===s.productCount,\r\n      noMultiLight:multis.length===0,\r\n      knownTripleSetsAbsent:handles.indexOf(\"gdx-rgbli-panel-led-video-isik-seti-1700w\")<0&&handles.indexOf(\"gdx-rgbli-panel-led-video-isik-seti-2020w\")<0,\r\n      uniqueHandles:new Set(handles).size===s.productCount,\r\n      stateOwnerMarker:clean(root.state&&root.state.etap2&&root.state.etap2.visiblePoolOwner)===\"GDX_PANEL_LED_V4_ETAP2_R2B_CANONICAL_POOL\",\r\n      uiCardCountMatchesPoolLane:domHandles.length===expectedDomCount,\r\n      singleSetVisibilityMatchesPoolLane:currentPoolLane===\"BARE_LIGHT\"\r\n        ? singles.every(function(p){return domHandles.indexOf(clean(p.key||p.handle))<0})\r\n        : singles.length===Number(s.laneCounts.SINGLE_READY_SET||0)&&singles.every(function(p){return domHandles.indexOf(clean(p.key||p.handle))>-1}),\r\n      purposeTop3CanonicalParity:parity.length>0&&parity.every(function(r){return r.match}),\r\n      bootstrapDynamicGuardPass:!!(bootstrap&&bootstrap.ok===true),\r\n      selectionRecommendationSyncPass:!!(selectionSync&&selectionSync.ok===true),\r\n      noP47ProductionApply:s.noTouch.p47ProductionApply===false,\r\n      noSetupGeometryMutation:s.noTouch.setupGeometryMutation===false,\r\n      noCommerceTruthMutation:s.noTouch.commerceTruthMutation===false\r\n    };\r\n    var failedChecks=Object.keys(checks).filter(function(k){return checks[k]!==true});\r\n    var out={\r\n      ok:failedChecks.length===0,\r\n      version:VERSION,\r\n      checks:checks,\r\n      failedChecks:failedChecks,\r\n      observed:{\r\n        beforeCount:s.beforeCount,\r\n        visibleProductCount:s.productCount,\r\n        laneCounts:s.laneCounts,\r\n        uiCardCount:domHandles.length,\r\n        currentPoolLane:currentPoolLane,\r\n        expectedDomCount:expectedDomCount,\r\n        singleReadySetHandles:singles.map(function(p){return clean(p.handle)}),\r\n        purposeParity:parity,\r\n        bootstrap:bootstrap,\r\n        selectionRecommendationSync:selectionSync\r\n      }\r\n    };\r\n    console.log(\"=== CANFOTO ETAP2 R6-2H-A R1 PANEL VISIBLE POOL DYNAMIC CARDINALITY QA ===\");\r\n    console.log(out);\r\n    return out;\r\n  }\r\n\r\n  var API=Object.freeze({\r\n    version:VERSION,\r\n    apply:apply,\r\n    getSnapshot:snapshot,\r\n    rollbackRuntime:rollbackRuntime,\r\n    debug:debug\r\n  });\r\n\r\n  root.etap2VisiblePoolCutover=API;\r\n  window.GDX_PANEL_LED_V4_ETAP2_R2C_VISIBLE_POOL_CUTOVER=API;\r\n  window.debugPanelV4Etap2R2CVisiblePoolCutover=debug;\r\n  window.rollbackPanelV4Etap2R2CVisiblePoolCutoverRuntime=rollbackRuntime;\r\n\r\n  installLoadWrapper();\r\n\r\n  function applyFromDecision(detail){\r\n    detail=detail||{};\r\n    return apply({\r\n      emit:true,\r\n      source:clean(detail.source||\"DECISION_GATE\")\r\n    }).catch(function(err){\r\n      console.error(\"[PANEL ETAP2 R2-C] visible pool cutover failed\",err);\r\n      return null;\r\n    });\r\n  }\r\n\r\n  window.addEventListener(\r\n    \"canfoto:panel-deferred-results-activated\",\r\n    function(event){\r\n      applyFromDecision(event&&event.detail||{});\r\n    }\r\n  );\r\n\r\n  function restoreIfAlreadyActive(){\r\n    if(resultGateActive()){\r\n      applyFromDecision({source:\"DEEP_LINK_OR_RESTORED_COMPLETE\"});\r\n    }\r\n  }\r\n\r\n  if(document.readyState===\"loading\"){\r\n    document.addEventListener(\r\n      \"DOMContentLoaded\",\r\n      restoreIfAlreadyActive,\r\n      {once:true}\r\n    );\r\n  }else{\r\n    restoreIfAlreadyActive();\r\n  }\r\n\r\n  window.CANFOTO_FS1R_R52_TRUE_EMPTY_GATE=\r\n    Object.assign(\r\n      {},\r\n      window.CANFOTO_FS1R_R52_TRUE_EMPTY_GATE||{},\r\n      {\r\n        r2cBootVisiblePoolCutoverRetired:true,\r\n        r2cPreApplyLoadProductsBlocked:true\r\n      }\r\n    );\r\n})(window,document);\r\n"],
  "mappings": "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",
  "names": ["window", "document"]
}
