deploy(nvsim): live Ghost Murmur WASM demo + ADR-093 gap analysis
Adds 'Try it yourself' interactive section to the Ghost Murmur view: distance + heart-moment sliders that drive nvsim::Pipeline live via the new runTransient WASM export. Per-tier detectability bars compare predicted |B| vs each transport's noise floor (NV-ensemble lab, COTS DNV-B1, SQUID, 60 GHz mmWave, WiFi CSI). Witness for the transient run is shown alongside the canonical reference witness. Powered by ADR-093 gap analysis. Live at https://ruvnet.github.io/RuView/nvsim/
This commit is contained in:
parent
eecfbcdf8a
commit
b861ff3441
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,2 @@
|
|||
const u=self;let l,x,_,k,F,T;async function S(o){const e=new URL(o,u.location.origin).href,t=await import(new URL("nvsim-pkg/nvsim.js",e).href);await t.default(),l=t.WasmPipeline,x=t.referenceSceneJson,_=t.expectedReferenceWitnessHex,k=t.hexWitness,F=t.referenceWitness,T=t.runTransient}let c=null,b="",y="",W=BigInt(3405691582),g=!1,d=null,a=0,w=0;function f(){y||(y=x()),b||(b=JSON.stringify({digitiser:{f_s_hz:1e4,f_mod_hz:1e3},sensor:{gamma_fwhm_hz:1e6,t1_s:.005,t2_s:1e-6,t2_star_s:2e-7,contrast:.03,n_spins:1e12,shot_noise_disabled:!1},dt_s:null})),c?.free?.(),c=new l(y,b,Number(W&0xFFFFFFFFn))}function s(o,e=[]){u.postMessage(o,e)}function H(){if(d!==null)return;w=performance.now(),a=0;const o=()=>{if(!g||!c)return;const e=32,n=c.run(e);a+=e;const t=(performance.now()-w)/1e3,i=t>0?a/t:0;s({type:"frames",batch:n.buffer,count:e,fps:i,framesEmitted:a},[n.buffer]),d=u.setTimeout(o,16)};d=u.setTimeout(o,0)}function h(){d!==null&&(u.clearTimeout(d),d=null)}u.addEventListener("message",async o=>{const e=o.data;try{switch(e.type){case"boot":{const n=e.base??"/";await S(n),f(),s({type:"booted",id:e.id,buildVersion:l.buildVersion(),frameMagic:l.frameMagic(),frameBytes:l.frameBytes(),expectedWitnessHex:_()});break}case"setScene":{y=e.json,f(),s({type:"ack",id:e.id});break}case"setConfig":{b=e.json,f(),s({type:"ack",id:e.id});break}case"setSeed":{W=BigInt(e.seed),f(),s({type:"ack",id:e.id});break}case"reset":{h(),g=!1,f(),a=0,s({type:"ack",id:e.id}),s({type:"state",running:!1,framesEmitted:a});break}case"run":{c||f(),g=!0,H(),s({type:"ack",id:e.id}),s({type:"state",running:!0,framesEmitted:a});break}case"pause":{g=!1,h(),s({type:"ack",id:e.id}),s({type:"state",running:!1,framesEmitted:a});break}case"step":{c||f();const n=c.run(1);a+=1,s({type:"frames",batch:n.buffer,count:1,fps:0,framesEmitted:a},[n.buffer]),s({type:"ack",id:e.id});break}case"witnessGenerate":{c||f();const n=e.samples??256,t=c.runWithWitness(n),i=k(t.witness);s({type:"witness",id:e.id,witness:t.witness.buffer,hex:i,frameCount:t.frameCount},[t.witness.buffer]);break}case"witnessVerify":{const n=e.expected,t=new Uint8Array(n),i=F();let p=i.length===t.length;if(p){for(let m=0;m<t.length;m++)if(i[m]!==t[m]){p=!1;break}}const r=i.slice().buffer;s({type:"verify",id:e.id,ok:p,actual:r,actualHex:k(i)},[r]);break}case"runTransient":{const n=e.scene,t=e.config,i=e.seed??0,p=e.samples??64,r=T(n,t,i,p);s({type:"transient",id:e.id,bRecoveredT:Array.from(r.bRecoveredT),bMagT:r.bMagT,noiseFloorPtSqrtHz:r.noiseFloorPtSqrtHz,sigmaPt:Array.from(r.sigmaPt),nFrames:r.nFrames,witnessHex:r.witnessHex});break}case"buildId":{s({type:"buildId",id:e.id,buildId:`nvsim@${l.buildVersion()}`});break}default:s({type:"err",id:e.id,msg:`unknown op ${e.type}`})}}catch(n){s({type:"err",id:e.id,msg:n.message??String(n)})}});s({type:"ready"});
|
||||
//# sourceMappingURL=worker-C19MRcXs.js.map
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -10,7 +10,7 @@
|
|||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
|
||||
<script type="module" crossorigin src="/RuView/nvsim/assets/index-BWlL4FHH.js"></script>
|
||||
<script type="module" crossorigin src="/RuView/nvsim/assets/index-9VRqUHc5.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/RuView/nvsim/assets/lit-BS7WqYd5.js">
|
||||
<link rel="modulepreload" crossorigin href="/RuView/nvsim/assets/signals-SG45zFCj.js">
|
||||
<link rel="stylesheet" crossorigin href="/RuView/nvsim/assets/index-CyUCBwRA.css">
|
||||
|
|
|
|||
|
|
@ -71,6 +71,26 @@ export function referenceSceneJson(): string;
|
|||
*/
|
||||
export function referenceWitness(): Uint8Array;
|
||||
|
||||
/**
|
||||
* One-shot pipeline run that doesn't disturb the dashboard's main
|
||||
* pipeline. Used by the Ghost Murmur interactive demo (and any other
|
||||
* "run-against-this-scene-please" flow) to ask: given a scene + config,
|
||||
* what does the NV sensor recover at the origin?
|
||||
*
|
||||
* Returns a JS object:
|
||||
* ```js
|
||||
* {
|
||||
* bRecoveredT: [number, number, number], // recovered B (Tesla)
|
||||
* bMagT: number, // |B| (Tesla)
|
||||
* noiseFloorPtSqrtHz: number, // δB pT/√Hz from this config
|
||||
* sigmaPt: [number, number, number], // per-axis 1σ noise estimate (pT)
|
||||
* nFrames: number, // samples actually run
|
||||
* witnessHex: string // SHA-256 witness for this run
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
export function runTransient(scene_json: string, config_json: string, seed: number, n_samples: number): any;
|
||||
|
||||
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
||||
|
||||
export interface InitOutput {
|
||||
|
|
@ -80,6 +100,7 @@ export interface InitOutput {
|
|||
readonly hexWitness: (a: number, b: number, c: number) => void;
|
||||
readonly referenceSceneJson: (a: number) => void;
|
||||
readonly referenceWitness: (a: number) => void;
|
||||
readonly runTransient: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
||||
readonly wasmpipeline_buildVersion: (a: number) => void;
|
||||
readonly wasmpipeline_frameBytes: () => number;
|
||||
readonly wasmpipeline_frameMagic: () => number;
|
||||
|
|
|
|||
|
|
@ -230,12 +230,59 @@ export function referenceWitness() {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* One-shot pipeline run that doesn't disturb the dashboard's main
|
||||
* pipeline. Used by the Ghost Murmur interactive demo (and any other
|
||||
* "run-against-this-scene-please" flow) to ask: given a scene + config,
|
||||
* what does the NV sensor recover at the origin?
|
||||
*
|
||||
* Returns a JS object:
|
||||
* ```js
|
||||
* {
|
||||
* bRecoveredT: [number, number, number], // recovered B (Tesla)
|
||||
* bMagT: number, // |B| (Tesla)
|
||||
* noiseFloorPtSqrtHz: number, // δB pT/√Hz from this config
|
||||
* sigmaPt: [number, number, number], // per-axis 1σ noise estimate (pT)
|
||||
* nFrames: number, // samples actually run
|
||||
* witnessHex: string // SHA-256 witness for this run
|
||||
* }
|
||||
* ```
|
||||
* @param {string} scene_json
|
||||
* @param {string} config_json
|
||||
* @param {number} seed
|
||||
* @param {number} n_samples
|
||||
* @returns {any}
|
||||
*/
|
||||
export function runTransient(scene_json, config_json, seed, n_samples) {
|
||||
try {
|
||||
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
||||
const ptr0 = passStringToWasm0(scene_json, wasm.__wbindgen_export3, wasm.__wbindgen_export4);
|
||||
const len0 = WASM_VECTOR_LEN;
|
||||
const ptr1 = passStringToWasm0(config_json, wasm.__wbindgen_export3, wasm.__wbindgen_export4);
|
||||
const len1 = WASM_VECTOR_LEN;
|
||||
wasm.runTransient(retptr, ptr0, len0, ptr1, len1, seed, n_samples);
|
||||
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
||||
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
||||
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
||||
if (r2) {
|
||||
throw takeObject(r1);
|
||||
}
|
||||
return takeObject(r0);
|
||||
} finally {
|
||||
wasm.__wbindgen_add_to_stack_pointer(16);
|
||||
}
|
||||
}
|
||||
|
||||
function __wbg_get_imports() {
|
||||
const import0 = {
|
||||
__proto__: null,
|
||||
__wbg___wbindgen_throw_6ddd609b62940d55: function(arg0, arg1) {
|
||||
throw new Error(getStringFromWasm0(arg0, arg1));
|
||||
},
|
||||
__wbg_length_550d8a396009cd38: function(arg0) {
|
||||
const ret = getObject(arg0).length;
|
||||
return ret;
|
||||
},
|
||||
__wbg_length_ea16607d7b61445b: function(arg0) {
|
||||
const ret = getObject(arg0).length;
|
||||
return ret;
|
||||
|
|
@ -248,6 +295,13 @@ function __wbg_get_imports() {
|
|||
const ret = new Uint8Array(arg0 >>> 0);
|
||||
return addHeapObject(ret);
|
||||
},
|
||||
__wbg_new_with_length_eae667475c36c4e4: function(arg0) {
|
||||
const ret = new Float64Array(arg0 >>> 0);
|
||||
return addHeapObject(ret);
|
||||
},
|
||||
__wbg_set_636d1e3e4286e068: function(arg0, arg1, arg2) {
|
||||
getObject(arg0).set(getArrayF64FromWasm0(arg1, arg2));
|
||||
},
|
||||
__wbg_set_7eaa4f96924fd6b3: function() { return handleError(function (arg0, arg1, arg2) {
|
||||
const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));
|
||||
return ret;
|
||||
|
|
@ -294,6 +348,11 @@ function dropObject(idx) {
|
|||
heap_next = idx;
|
||||
}
|
||||
|
||||
function getArrayF64FromWasm0(ptr, len) {
|
||||
ptr = ptr >>> 0;
|
||||
return getFloat64ArrayMemory0().subarray(ptr / 8, ptr / 8 + len);
|
||||
}
|
||||
|
||||
function getArrayU8FromWasm0(ptr, len) {
|
||||
ptr = ptr >>> 0;
|
||||
return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
|
||||
|
|
@ -307,6 +366,14 @@ function getDataViewMemory0() {
|
|||
return cachedDataViewMemory0;
|
||||
}
|
||||
|
||||
let cachedFloat64ArrayMemory0 = null;
|
||||
function getFloat64ArrayMemory0() {
|
||||
if (cachedFloat64ArrayMemory0 === null || cachedFloat64ArrayMemory0.byteLength === 0) {
|
||||
cachedFloat64ArrayMemory0 = new Float64Array(wasm.memory.buffer);
|
||||
}
|
||||
return cachedFloat64ArrayMemory0;
|
||||
}
|
||||
|
||||
function getStringFromWasm0(ptr, len) {
|
||||
ptr = ptr >>> 0;
|
||||
return decodeText(ptr, len);
|
||||
|
|
@ -419,6 +486,7 @@ function __wbg_finalize_init(instance, module) {
|
|||
wasm = instance.exports;
|
||||
wasmModule = module;
|
||||
cachedDataViewMemory0 = null;
|
||||
cachedFloat64ArrayMemory0 = null;
|
||||
cachedUint8ArrayMemory0 = null;
|
||||
return wasm;
|
||||
}
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -6,6 +6,7 @@ export const expectedReferenceWitnessHex: (a: number) => void;
|
|||
export const hexWitness: (a: number, b: number, c: number) => void;
|
||||
export const referenceSceneJson: (a: number) => void;
|
||||
export const referenceWitness: (a: number) => void;
|
||||
export const runTransient: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
||||
export const wasmpipeline_buildVersion: (a: number) => void;
|
||||
export const wasmpipeline_frameBytes: () => number;
|
||||
export const wasmpipeline_frameMagic: () => number;
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
if(!self.define){let s,e={};const i=(i,n)=>(i=new URL(i+".js",n).href,e[i]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=i,s.onload=e,document.head.appendChild(s)}else s=i,importScripts(i),e()}).then(()=>{let s=e[i];if(!s)throw new Error(`Module ${i} didn’t register its module`);return s}));self.define=(n,r)=>{const c=s||("document"in self?document.currentScript.src:"")||location.href;if(e[c])return;let d={};const l=s=>i(s,c),o={module:{uri:c},exports:d,require:l};e[c]=Promise.all(n.map(s=>o[s]||l(s))).then(s=>(r(...s),d))}}define(["./workbox-8c29f6e4"],function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"registerSW.js",revision:"4bcaa063d693b37532f242f566232490"},{url:"index.html",revision:"934dcb4a251b1c4907091ce92f5ac9d0"},{url:"icon-512.svg",revision:"98fc1c8102c279bf1c0dd52559821ddc"},{url:"icon-192.svg",revision:"e73b6aa9016dca426a59e0f8ff4f1b04"},{url:"nvsim-pkg/nvsim_bg.wasm",revision:"b510b70684796cc95dd7fb5bb0d23df7"},{url:"nvsim-pkg/nvsim.js",revision:"ec3b99fbf8131dc1b3d86dc2ae0cf7b8"},{url:"assets/worker-BW0kLvYS.js",revision:null},{url:"assets/signals-SG45zFCj.js",revision:null},{url:"assets/lit-BS7WqYd5.js",revision:null},{url:"assets/index-CyUCBwRA.css",revision:null},{url:"assets/index-BWlL4FHH.js",revision:null},{url:"icon-192.svg",revision:"e73b6aa9016dca426a59e0f8ff4f1b04"},{url:"icon-512.svg",revision:"98fc1c8102c279bf1c0dd52559821ddc"},{url:"nvsim-pkg/nvsim.js",revision:"ec3b99fbf8131dc1b3d86dc2ae0cf7b8"},{url:"nvsim-pkg/nvsim_bg.wasm",revision:"b510b70684796cc95dd7fb5bb0d23df7"},{url:"manifest.webmanifest",revision:"e8c97968cae19a0ed3b64c1303a27a90"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html")))});
|
||||
if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,r)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(s[c])return;let o={};const d=e=>i(e,c),l={module:{uri:c},exports:o,require:d};s[c]=Promise.all(n.map(e=>l[e]||d(e))).then(e=>(r(...e),o))}}define(["./workbox-8c29f6e4"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"registerSW.js",revision:"4bcaa063d693b37532f242f566232490"},{url:"index.html",revision:"2f6b659c49a92c03cb8d0cef3ec20a05"},{url:"icon-512.svg",revision:"98fc1c8102c279bf1c0dd52559821ddc"},{url:"icon-192.svg",revision:"e73b6aa9016dca426a59e0f8ff4f1b04"},{url:"nvsim-pkg/nvsim_bg.wasm",revision:"a617e7e24b2d5e976ce7e8d4f473104d"},{url:"nvsim-pkg/nvsim.js",revision:"ff4ecdcc8ace84fd24c4ad396809bd88"},{url:"assets/worker-C19MRcXs.js",revision:null},{url:"assets/signals-SG45zFCj.js",revision:null},{url:"assets/lit-BS7WqYd5.js",revision:null},{url:"assets/index-CyUCBwRA.css",revision:null},{url:"assets/index-9VRqUHc5.js",revision:null},{url:"icon-192.svg",revision:"e73b6aa9016dca426a59e0f8ff4f1b04"},{url:"icon-512.svg",revision:"98fc1c8102c279bf1c0dd52559821ddc"},{url:"nvsim-pkg/nvsim.js",revision:"ff4ecdcc8ace84fd24c4ad396809bd88"},{url:"nvsim-pkg/nvsim_bg.wasm",revision:"a617e7e24b2d5e976ce7e8d4f473104d"},{url:"manifest.webmanifest",revision:"e8c97968cae19a0ed3b64c1303a27a90"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))});
|
||||
//# sourceMappingURL=sw.js.map
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"sw.js","sources":["../../../AppData/Local/Temp/19f266b374f78468c3fcf58fd5709833/sw.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from 'C:/Users/ruv/Projects/wifi-densepose/dashboard/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from 'C:/Users/ruv/Projects/wifi-densepose/dashboard/node_modules/workbox-precaching/precacheAndRoute.mjs';\nimport {cleanupOutdatedCaches as workbox_precaching_cleanupOutdatedCaches} from 'C:/Users/ruv/Projects/wifi-densepose/dashboard/node_modules/workbox-precaching/cleanupOutdatedCaches.mjs';\nimport {registerRoute as workbox_routing_registerRoute} from 'C:/Users/ruv/Projects/wifi-densepose/dashboard/node_modules/workbox-routing/registerRoute.mjs';\nimport {NavigationRoute as workbox_routing_NavigationRoute} from 'C:/Users/ruv/Projects/wifi-densepose/dashboard/node_modules/workbox-routing/NavigationRoute.mjs';\nimport {createHandlerBoundToURL as workbox_precaching_createHandlerBoundToURL} from 'C:/Users/ruv/Projects/wifi-densepose/dashboard/node_modules/workbox-precaching/createHandlerBoundToURL.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"registerSW.js\",\n \"revision\": \"4bcaa063d693b37532f242f566232490\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"934dcb4a251b1c4907091ce92f5ac9d0\"\n },\n {\n \"url\": \"icon-512.svg\",\n \"revision\": \"98fc1c8102c279bf1c0dd52559821ddc\"\n },\n {\n \"url\": \"icon-192.svg\",\n \"revision\": \"e73b6aa9016dca426a59e0f8ff4f1b04\"\n },\n {\n \"url\": \"nvsim-pkg/nvsim_bg.wasm\",\n \"revision\": \"b510b70684796cc95dd7fb5bb0d23df7\"\n },\n {\n \"url\": \"nvsim-pkg/nvsim.js\",\n \"revision\": \"ec3b99fbf8131dc1b3d86dc2ae0cf7b8\"\n },\n {\n \"url\": \"assets/worker-BW0kLvYS.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/signals-SG45zFCj.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/lit-BS7WqYd5.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-CyUCBwRA.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-BWlL4FHH.js\",\n \"revision\": null\n },\n {\n \"url\": \"icon-192.svg\",\n \"revision\": \"e73b6aa9016dca426a59e0f8ff4f1b04\"\n },\n {\n \"url\": \"icon-512.svg\",\n \"revision\": \"98fc1c8102c279bf1c0dd52559821ddc\"\n },\n {\n \"url\": \"nvsim-pkg/nvsim.js\",\n \"revision\": \"ec3b99fbf8131dc1b3d86dc2ae0cf7b8\"\n },\n {\n \"url\": \"nvsim-pkg/nvsim_bg.wasm\",\n \"revision\": \"b510b70684796cc95dd7fb5bb0d23df7\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"e8c97968cae19a0ed3b64c1303a27a90\"\n }\n], {});\nworkbox_precaching_cleanupOutdatedCaches();\nworkbox_routing_registerRoute(new workbox_routing_NavigationRoute(workbox_precaching_createHandlerBoundToURL(\"index.html\")));\n\n\n\n\n\n\n"],"names":["self","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision","workbox_precaching_cleanupOutdatedCaches","workbox","registerRoute","workbox_routing_NavigationRoute","NavigationRoute","workbox_precaching_createHandlerBoundToURL"],"mappings":"inBAwBAA,KAAKC,cAELC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,yBACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,qCAEb,CAAE,GACLC,EAAAA,wBAC6BC,EAAAC,cAAC,IAAIC,EAA+BC,gBAACC,0BAA2C"}
|
||||
{"version":3,"file":"sw.js","sources":["../../../AppData/Local/Temp/f7782794cf6d2a4a71fad4aea80c9da1/sw.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from 'C:/Users/ruv/Projects/wifi-densepose/dashboard/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from 'C:/Users/ruv/Projects/wifi-densepose/dashboard/node_modules/workbox-precaching/precacheAndRoute.mjs';\nimport {cleanupOutdatedCaches as workbox_precaching_cleanupOutdatedCaches} from 'C:/Users/ruv/Projects/wifi-densepose/dashboard/node_modules/workbox-precaching/cleanupOutdatedCaches.mjs';\nimport {registerRoute as workbox_routing_registerRoute} from 'C:/Users/ruv/Projects/wifi-densepose/dashboard/node_modules/workbox-routing/registerRoute.mjs';\nimport {NavigationRoute as workbox_routing_NavigationRoute} from 'C:/Users/ruv/Projects/wifi-densepose/dashboard/node_modules/workbox-routing/NavigationRoute.mjs';\nimport {createHandlerBoundToURL as workbox_precaching_createHandlerBoundToURL} from 'C:/Users/ruv/Projects/wifi-densepose/dashboard/node_modules/workbox-precaching/createHandlerBoundToURL.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"registerSW.js\",\n \"revision\": \"4bcaa063d693b37532f242f566232490\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"2f6b659c49a92c03cb8d0cef3ec20a05\"\n },\n {\n \"url\": \"icon-512.svg\",\n \"revision\": \"98fc1c8102c279bf1c0dd52559821ddc\"\n },\n {\n \"url\": \"icon-192.svg\",\n \"revision\": \"e73b6aa9016dca426a59e0f8ff4f1b04\"\n },\n {\n \"url\": \"nvsim-pkg/nvsim_bg.wasm\",\n \"revision\": \"a617e7e24b2d5e976ce7e8d4f473104d\"\n },\n {\n \"url\": \"nvsim-pkg/nvsim.js\",\n \"revision\": \"ff4ecdcc8ace84fd24c4ad396809bd88\"\n },\n {\n \"url\": \"assets/worker-C19MRcXs.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/signals-SG45zFCj.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/lit-BS7WqYd5.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-CyUCBwRA.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-9VRqUHc5.js\",\n \"revision\": null\n },\n {\n \"url\": \"icon-192.svg\",\n \"revision\": \"e73b6aa9016dca426a59e0f8ff4f1b04\"\n },\n {\n \"url\": \"icon-512.svg\",\n \"revision\": \"98fc1c8102c279bf1c0dd52559821ddc\"\n },\n {\n \"url\": \"nvsim-pkg/nvsim.js\",\n \"revision\": \"ff4ecdcc8ace84fd24c4ad396809bd88\"\n },\n {\n \"url\": \"nvsim-pkg/nvsim_bg.wasm\",\n \"revision\": \"a617e7e24b2d5e976ce7e8d4f473104d\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"e8c97968cae19a0ed3b64c1303a27a90\"\n }\n], {});\nworkbox_precaching_cleanupOutdatedCaches();\nworkbox_routing_registerRoute(new workbox_routing_NavigationRoute(workbox_precaching_createHandlerBoundToURL(\"index.html\")));\n\n\n\n\n\n\n"],"names":["self","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision","workbox_precaching_cleanupOutdatedCaches","workbox","registerRoute","workbox_routing_NavigationRoute","NavigationRoute","workbox_precaching_createHandlerBoundToURL"],"mappings":"inBAwBAA,KAAKC,cAELC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,yBACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,qCAEb,CAAE,GACLC,EAAAA,wBAC6BC,EAAAC,cAAC,IAAIC,EAA+BC,gBAACC,0BAA2C"}
|
||||
Loading…
Reference in New Issue