winga-chart-plotter-signalk 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ .ruler-popup.svelte-c20cna{z-index:20;pointer-events:all;background:#1e1e2e;border:1px solid #446;border-radius:8px;padding:6px 8px;position:fixed;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 4px 16px #00000080}.ruler-popup-remove.svelte-c20cna{color:#fff;cursor:pointer;background:#e53e3e;border:none;border-radius:5px;padding:6px 16px;font-size:14px;font-weight:600;transition:background .15s}.ruler-popup-remove.svelte-c20cna:hover{background:#c53030}.projection-picker.svelte-c20cna{z-index:10;flex-direction:column;align-items:flex-start;gap:3px;display:flex;position:absolute;top:200px;left:10px}.proj-btn.svelte-c20cna{color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:6px;padding:6px 10px;font-size:16px;transition:background .15s}.proj-btn.svelte-c20cna:hover{background:#282850e6}.proj-btn--manual.svelte-c20cna{color:#f59e0b}.north-indicator.svelte-c20cna{z-index:10;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:none;border-radius:50%;padding:0;transition:opacity .3s;position:absolute;top:80px;right:10px}.north-indicator--visible.svelte-c20cna{opacity:1;pointer-events:auto}.north-indicator.svelte-c20cna:hover circle:where(.svelte-c20cna){fill:#1e1e46d9}.ais-popup{color:#e0e0f0;min-width:180px;font-family:system-ui,sans-serif;font-size:12px}.ais-popup-title{color:#f59e0b;border-bottom:1px solid #444;margin-bottom:8px;padding-bottom:5px;font-size:13px;font-weight:600}.ais-popup table{border-collapse:collapse;width:100%}.ais-popup td{vertical-align:top;padding:2px 6px 2px 0}.ais-popup td:first-child{color:#888;white-space:nowrap;padding-right:12px}.ais-section{color:#666;text-transform:uppercase;letter-spacing:.08em;padding-top:8px;font-size:10px;font-weight:600}.ais-links{border-top:1px solid #333;gap:8px;margin-top:8px;padding-top:8px;display:flex}.ais-links a{color:#60a5fa;text-align:center;background:#60a5fa1a;border-radius:4px;flex:1;padding:3px 0;font-size:11px;text-decoration:none}.ais-links a:hover{background:#60a5fa33}.maplibregl-popup-content{background:#1e1e2e;border-radius:8px;padding:12px 14px;box-shadow:0 4px 20px #0009}.ais-disambig-list{margin:0;padding:0;list-style:none}.ais-disambig-item{cursor:pointer;color:#e0e0f0;white-space:nowrap;border-radius:4px;padding:6px 8px;font-size:12px;transition:background .12s}.ais-disambig-item:hover{color:#93c5fd;background:#60a5fa2e}.maplibregl-popup-tip{border-top-color:#1e1e2e}.maplibregl-popup-close-button{color:#888;font-size:16px}.maplibregl-popup{z-index:10}.gear-btn.svelte-1u3w06f{z-index:10;color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:6px;padding:6px 10px;font-size:16px;position:absolute;top:44px;left:10px}.backdrop.svelte-1u3w06f{z-index:20;background:#00000080;position:fixed;inset:0}.modal.svelte-1u3w06f{z-index:21;color:#fff;background:#1e1e2e;border-radius:10px;min-width:440px;max-height:90vh;padding:24px;font-family:system-ui,sans-serif;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000080}h2.svelte-1u3w06f{margin:0 0 16px;font-size:16px;font-weight:600}.tabs.svelte-1u3w06f{border-bottom:1px solid #335;margin-bottom:20px;display:flex}.tab.svelte-1u3w06f{color:#a0a0c0;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 18px;font-size:13px}.tab.active.svelte-1u3w06f{color:#fff;border-bottom-color:#4a6cf7}.section-title.svelte-1u3w06f{color:#668;text-transform:uppercase;letter-spacing:.08em;margin:16px 0 10px;font-size:11px;font-weight:600}.row.svelte-1u3w06f{align-items:center;gap:12px;margin-bottom:10px;display:flex}.row.svelte-1u3w06f>label:where(.svelte-1u3w06f){color:#a0a0c0;flex-shrink:0;width:72px;font-size:13px}.field.svelte-1u3w06f{flex:1;align-items:center;gap:8px;display:flex}.unit.svelte-1u3w06f{color:#668;font-size:12px}.hint.svelte-1u3w06f{color:#668;word-break:break-all;margin:2px 0 12px 84px;font-size:11px}.geo-error-note.svelte-1u3w06f{color:#f87171;margin:-6px 0 10px 84px;font-size:11px}input[type=text].svelte-1u3w06f,input[type=number].svelte-1u3w06f,select.svelte-1u3w06f{color:#fff;box-sizing:border-box;background:#2a2a3e;border:1px solid #446;border-radius:6px;padding:6px 8px;font-size:13px}input[type=text].svelte-1u3w06f{flex:1}input[type=number].svelte-1u3w06f{-moz-appearance:textfield;width:80px}select.svelte-1u3w06f{cursor:pointer}input[type=color].svelte-1u3w06f{cursor:pointer;background:0 0;border:1px solid #446;border-radius:6px;width:40px;height:30px;padding:2px}.actions.svelte-1u3w06f{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.btn.svelte-1u3w06f{cursor:pointer;border-radius:6px;padding:7px 16px;font-size:13px}.btn-cancel.svelte-1u3w06f{color:#a0a0c0;background:0 0;border:1px solid #446}.btn-save.svelte-1u3w06f{color:#fff;background:#4a6cf7;border:none}.fps-field.svelte-1u3w06f{flex:1;align-items:center;gap:8px;display:flex}.fps-slider.svelte-1u3w06f{cursor:pointer;flex:1;min-width:100px}.fps-target.svelte-1u3w06f{text-align:right;font-variant-numeric:tabular-nums;min-width:5rem;font-size:13px}.fps-actual.svelte-1u3w06f{color:#668;text-align:right;font-variant-numeric:tabular-nums;min-width:3.5rem;font-size:11px}.about.svelte-1u3w06f{text-align:center;padding:16px 0 8px}.about-logo.svelte-1u3w06f{border-radius:16px;width:80px;height:80px;margin-bottom:14px}.about-name.svelte-1u3w06f{color:#fff;margin:0 0 6px;font-size:20px;font-weight:700}.about-version.svelte-1u3w06f{color:#a0a0c0;font-variant-numeric:tabular-nums;margin:0 0 16px;font-size:13px}.about-commit.svelte-1u3w06f{color:#668;font-family:monospace}.about-desc.svelte-1u3w06f{color:#a0a0c0;margin:0 0 20px;font-size:13px}.about-links.svelte-1u3w06f{justify-content:center;gap:16px;display:flex}.about-links.svelte-1u3w06f a:where(.svelte-1u3w06f){color:#4a6cf7;font-size:13px;text-decoration:none}.about-links.svelte-1u3w06f a:where(.svelte-1u3w06f):hover{text-decoration:underline}.toggle.svelte-1u3w06f{cursor:pointer;flex-shrink:0;align-items:center;display:inline-flex}.toggle.svelte-1u3w06f input:where(.svelte-1u3w06f){opacity:0;width:0;height:0;position:absolute}.toggle-track.svelte-1u3w06f{background:#446;border-radius:10px;width:36px;height:20px;transition:background .2s;position:relative}.toggle.svelte-1u3w06f input:where(.svelte-1u3w06f):checked+.toggle-track:where(.svelte-1u3w06f){background:#4a6cf7}.toggle-thumb.svelte-1u3w06f{background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s;position:absolute;top:2px;left:2px}.toggle.svelte-1u3w06f input:where(.svelte-1u3w06f):checked+.toggle-track:where(.svelte-1u3w06f) .toggle-thumb:where(.svelte-1u3w06f){left:18px}.toggle-label.svelte-1u3w06f{color:#a0a0c0;font-size:12px}.charts-btn.svelte-1mbfew2{z-index:10;color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:6px;padding:6px 10px;font-size:16px;transition:background .15s;position:absolute;top:80px;left:10px}.charts-btn.svelte-1mbfew2:hover{background:#282850e6}.charts-btn.active.svelte-1mbfew2{background:#2563ebd9;border:1px solid #3b82f6}.backdrop.svelte-1mbfew2{z-index:20;position:fixed;inset:0}.panel.svelte-1mbfew2{z-index:21;color:#fff;background:#1e1e2e;border-radius:10px;flex-direction:column;min-width:280px;max-width:360px;max-height:70vh;padding:0;font-family:system-ui,sans-serif;display:flex;position:absolute;top:44px;left:50px;overflow:hidden;box-shadow:0 8px 32px #00000080}.panel-header.svelte-1mbfew2{border-bottom:1px solid #2a2a3e;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px 10px;display:flex}.panel-title.svelte-1mbfew2{color:#fff;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.close-btn.svelte-1mbfew2{color:#668;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px}.close-btn.svelte-1mbfew2:hover{color:#fff}.hint-row.svelte-1mbfew2{color:#668;padding:10px 16px;font-size:12px;list-style:none}.hint-row.error.svelte-1mbfew2{color:#f87171}.chart-list.svelte-1mbfew2{margin:0;padding:0;list-style:none;overflow-y:auto}.chart-row.svelte-1mbfew2{border-bottom:1px solid #2a2a3e;align-items:flex-start;gap:10px;padding:10px 16px;display:flex}.chart-row.svelte-1mbfew2:last-child{border-bottom:none}.chart-row.svelte-1mbfew2 input[type=checkbox]:where(.svelte-1mbfew2){cursor:pointer;flex-shrink:0;margin-top:3px}.chart-info.svelte-1mbfew2{flex-direction:column;gap:2px;min-width:0;display:flex}.chart-name.svelte-1mbfew2{color:#fff;cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.chart-desc.svelte-1mbfew2{color:#a0a0c0;font-size:11px}.chart-meta.svelte-1mbfew2{color:#668;font-size:11px}.badge.svelte-1mbfew2{color:#7b8cde;text-transform:uppercase;letter-spacing:.05em;background:#2a2a4e;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.wmts-warning.svelte-1mbfew2{color:#f59e0b;margin-top:4px;font-size:11px}.wmts-manual.svelte-1mbfew2{gap:6px;margin-top:4px;display:flex}.wmts-input.svelte-1mbfew2{color:#fff;background:#2a2a3e;border:1px solid #446;border-radius:4px;flex:1;min-width:0;padding:3px 6px;font-size:11px}.wmts-apply.svelte-1mbfew2{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:4px;padding:3px 8px;font-size:11px}.wmts-apply.svelte-1mbfew2:hover{background:#1d4ed8}.wmts-ok.svelte-1mbfew2{color:#34d399;margin-top:2px;font-size:11px}.wmts-clear.svelte-1mbfew2{color:#668;cursor:pointer;background:0 0;border:1px solid #446;border-radius:4px;align-self:flex-start;margin-top:2px;padding:1px 6px;font-size:10px}.wmts-clear.svelte-1mbfew2:hover{color:#f87171;border-color:#f87171}.wmts-layer-row.svelte-1mbfew2{align-items:center;gap:6px;margin-top:4px;display:flex}.wmts-layer-label.svelte-1mbfew2{color:#668;flex-shrink:0;font-size:11px}.wmts-layer-select.svelte-1mbfew2{color:#fff;cursor:pointer;background:#2a2a3e;border:1px solid #446;border-radius:4px;flex:1;padding:2px 4px;font-size:11px}.wmts-showall-label.svelte-1mbfew2{color:#668;cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:3px;font-size:11px;display:flex}.wmts-showall-label.svelte-1mbfew2:hover{color:#a0a0c0}
@@ -0,0 +1 @@
1
+ (function(){Object.freeze({Connecting:0,0:`Connecting`,Connected:1,1:`Connected`,Disconnected:2,2:`Disconnected`,Error:3,3:`Error`});var e=class e{static __wrap(t){let n=Object.create(e.prototype);return n.__wbg_ptr=t,l.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,l.unregister(this),e}free(){let e=this.__destroy_into_raw();P.__wbg_position_free(e,0)}get altitude(){let e=P.__wbg_get_position_altitude(this.__wbg_ptr);return e[0]===0?void 0:e[1]}get latitude(){return P.__wbg_get_position_latitude(this.__wbg_ptr)}get longitude(){return P.__wbg_get_position_longitude(this.__wbg_ptr)}constructor(e,t){let n=P.position_new(e,t);return this.__wbg_ptr=n,l.register(this,this.__wbg_ptr,this),this}set altitude(e){P.__wbg_set_position_altitude(this.__wbg_ptr,!T(e),T(e)?0:e)}set latitude(e){P.__wbg_set_position_latitude(this.__wbg_ptr,e)}set longitude(e){P.__wbg_set_position_longitude(this.__wbg_ptr,e)}};Symbol.dispose&&(e.prototype[Symbol.dispose]=e.prototype.free);var t=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,u.unregister(this),e}free(){let e=this.__destroy_into_raw();P.__wbg_signalkclient_free(e,0)}close(){P.signalkclient_close(this.__wbg_ptr)}constructor(e,t,n,r){let i=D(e,P.__wbindgen_malloc,P.__wbindgen_realloc),a=N,o=P.signalkclient_new(i,a,t,n,r);if(o[2])throw O(o[1]);return this.__wbg_ptr=o[0],u.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(t.prototype[Symbol.dispose]=t.prototype.free);var n=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,d.unregister(this),e}free(){let e=this.__destroy_into_raw();P.__wbg_vesselstate_free(e,0)}get cog(){let e=P.__wbg_get_vesselstate_cog(this.__wbg_ptr);return e[0]===0?void 0:e[1]}get heading(){let e=P.__wbg_get_vesselstate_heading(this.__wbg_ptr);return e[0]===0?void 0:e[1]}get position(){let t=P.__wbg_get_vesselstate_position(this.__wbg_ptr);return t===0?void 0:e.__wrap(t)}get sog(){let e=P.__wbg_get_vesselstate_sog(this.__wbg_ptr);return e[0]===0?void 0:e[1]}set cog(e){P.__wbg_set_vesselstate_cog(this.__wbg_ptr,!T(e),T(e)?0:e)}set heading(e){P.__wbg_set_vesselstate_heading(this.__wbg_ptr,!T(e),T(e)?0:e)}set position(t){let n=0;T(t)||(p(t,e),n=t.__destroy_into_raw()),P.__wbg_set_vesselstate_position(this.__wbg_ptr,n)}set sog(e){P.__wbg_set_vesselstate_sog(this.__wbg_ptr,!T(e),T(e)?0:e)}constructor(){let e=P.vesselstate_new();return this.__wbg_ptr=e,d.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(n.prototype[Symbol.dispose]=n.prototype.free);function r(){return{__proto__:null,"./signalk_chart_core_bg.js":{__proto__:null,__wbg_Error_bce6d499ff0a4aff:function(e,t){return Error(x(e,t))},__wbg___wbindgen_debug_string_edece8177ad01481:function(e,t){let n=D(h(t),P.__wbindgen_malloc,P.__wbindgen_realloc),r=N;v().setInt32(e+4,r,!0),v().setInt32(e+0,n,!0)},__wbg___wbindgen_is_undefined_35bb9f4c7fd651d5:function(e){return e===void 0},__wbg___wbindgen_string_get_d109740c0d18f4d7:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=T(r)?0:D(r,P.__wbindgen_malloc,P.__wbindgen_realloc),a=N;v().setInt32(e+4,a,!0),v().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_9c31b086c2b26051:function(e,t){throw Error(x(e,t))},__wbg__wbg_cb_unref_3fa391f3fcdb55f8:function(e){e._wbg_cb_unref()},__wbg_buffer_765a8f5ca0b6d2ab:function(e){return e.buffer},__wbg_call_dfde26266607c996:function(){return w(function(e,t,n){return e.call(t,n)},arguments)},__wbg_clearTimeout_b339cb81aa470a3e:function(e,t){e.clearTimeout(t)},__wbg_close_e323e9eee669c291:function(){return w(function(e){e.close()},arguments)},__wbg_data_5fc79a19e47d1531:function(e){return e.data},__wbg_instanceof_WorkerGlobalScope_a93ee1765e6a23bf:function(e){let t;try{t=e instanceof WorkerGlobalScope}catch{t=!1}return t},__wbg_new_02d162bc6cf02f60:function(){return{}},__wbg_new_310879b66b6e95e1:function(){return[]},__wbg_new_b1280f836646084c:function(){return w(function(e,t){return new WebSocket(x(e,t))},arguments)},__wbg_new_from_slice_02962bf7778cf945:function(e,t){return new Float64Array(g(e,t))},__wbg_new_with_length_1278c16a5c5b497f:function(e){return new Float64Array(e>>>0)},__wbg_new_with_length_c2a8f9ac6aaaac03:function(e){return Array(e>>>0)},__wbg_now_81363d44c96dd239:function(){return Date.now()},__wbg_send_e1d2f71ce4473d1e:function(){return w(function(e,t,n){e.send(x(t,n))},arguments)},__wbg_setTimeout_a2b48e67340623fd:function(){return w(function(e,t,n){return e.setTimeout(t,n)},arguments)},__wbg_set_6be42768c690e380:function(e,t,n){e[t]=n},__wbg_set_78ea6a19f4818587:function(e,t,n){e[t>>>0]=n},__wbg_set_a0e911be3da02782:function(){return w(function(e,t,n){return Reflect.set(e,t,n)},arguments)},__wbg_set_onclose_3121e15055418a37:function(e,t){e.onclose=t},__wbg_set_onerror_1dd52df6279c8dd2:function(e,t){e.onerror=t},__wbg_set_onmessage_9eb2cf76e70783ad:function(e,t){e.onmessage=t},__wbg_set_onopen_6f3fc5e2ad3144f1:function(e,t){e.onopen=t},__wbg_static_accessor_GLOBAL_THIS_02344c9b09eb08a9:function(){let e=typeof globalThis>`u`?null:globalThis;return T(e)?0:f(e)},__wbg_static_accessor_GLOBAL_ac6d4ac874d5cd54:function(){let e=typeof global>`u`?null:global;return T(e)?0:f(e)},__wbg_static_accessor_SELF_9b2406c23aeb2023:function(){let e=typeof self>`u`?null:self;return T(e)?0:f(e)},__wbg_static_accessor_WINDOW_b34d2126934e16ba:function(){let e=typeof window>`u`?null:window;return T(e)?0:f(e)},__wbindgen_cast_0000000000000001:function(e,t){return E(e,t,a)},__wbindgen_cast_0000000000000002:function(e,t){return E(e,t,o)},__wbindgen_cast_0000000000000003:function(e,t){return E(e,t,s)},__wbindgen_cast_0000000000000004:function(e,t){return E(e,t,c)},__wbindgen_cast_0000000000000005:function(e,t){return E(e,t,i)},__wbindgen_cast_0000000000000006:function(e){return e},__wbindgen_cast_0000000000000007:function(e){return e},__wbindgen_cast_0000000000000008:function(e,t){return x(e,t)},__wbindgen_init_externref_table:function(){let e=P.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function i(e,t){P.wasm_bindgen__convert__closures_____invoke__hf9cd37beb7bb93c2(e,t)}function a(e,t,n){P.wasm_bindgen__convert__closures_____invoke__h064a3f5788f1fd2a(e,t,n)}function o(e,t,n){P.wasm_bindgen__convert__closures_____invoke__h064a3f5788f1fd2a_1(e,t,n)}function s(e,t,n){P.wasm_bindgen__convert__closures_____invoke__h064a3f5788f1fd2a_2(e,t,n)}function c(e,t,n){P.wasm_bindgen__convert__closures_____invoke__h064a3f5788f1fd2a_3(e,t,n)}let l=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>P.__wbg_position_free(e,1)),u=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>P.__wbg_signalkclient_free(e,1)),d=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>P.__wbg_vesselstate_free(e,1));function f(e){let t=P.__externref_table_alloc();return P.__wbindgen_externrefs.set(t,e),t}function p(e,t){if(!(e instanceof t))throw Error(`expected instance of ${t.name}`)}let m=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>P.__wbindgen_destroy_closure(e.a,e.b));function h(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=h(e[0]));for(let r=1;r<t;r++)n+=`, `+h(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function g(e,t){return e>>>=0,b().subarray(e/8,e/8+t)}let _=null;function v(){return(_===null||_.buffer.detached===!0||_.buffer.detached===void 0&&_.buffer!==P.memory.buffer)&&(_=new DataView(P.memory.buffer)),_}let y=null;function b(){return(y===null||y.byteLength===0)&&(y=new Float64Array(P.memory.buffer)),y}function x(e,t){return j(e>>>0,t)}let S=null;function C(){return(S===null||S.byteLength===0)&&(S=new Uint8Array(P.memory.buffer)),S}function w(e,t){try{return e.apply(this,t)}catch(e){let t=f(e);P.__wbindgen_exn_store(t)}}function T(e){return e==null}function E(e,t,n){let r={a:e,b:t,cnt:1},i=(...e)=>{r.cnt++;let t=r.a;r.a=0;try{return n(t,r.b,...e)}finally{r.a=t,i._wbg_cb_unref()}};return i._wbg_cb_unref=()=>{--r.cnt===0&&(P.__wbindgen_destroy_closure(r.a,r.b),r.a=0,m.unregister(r))},m.register(i,r,r),i}function D(e,t,n){if(n===void 0){let n=M.encode(e),r=t(n.length,1)>>>0;return C().subarray(r,r+n.length).set(n),N=n.length,r}let r=e.length,i=t(r,1)>>>0,a=C(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=C().subarray(i+o,i+r),a=M.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return N=o,i}function O(e){let t=P.__wbindgen_externrefs.get(e);return P.__externref_table_dealloc(e),t}let k=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});k.decode();let A=0;function j(e,t){return A+=t,A>=2146435072&&(k=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),k.decode(),A=t),k.decode(C().subarray(e,e+t))}let M=new TextEncoder;`encodeInto`in M||(M.encodeInto=function(e,t){let n=M.encode(e);return t.set(n),{read:e.length,written:n.length}});let N=0,P;function F(e,t){return P=e.exports,_=null,y=null,S=null,P.__wbindgen_start(),P}async function I(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}async function L(e){if(P!==void 0)return P;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),e===void 0&&(e=new URL(``+new URL(`signalk_chart_core_bg-Bx5Ksw6d.wasm`,self.location.href).href,``+self.location.href));let t=r();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:i}=await I(await e,t);return F(n,i)}let R=null,z=!1;async function B(){z||=(await L(),!0)}self.onmessage=async e=>{let n=e.data;if(n.type===`connect`){await B(),R?.close();try{R=new t(n.url,e=>{self.postMessage({type:`state`,state:e})},e=>{self.postMessage({type:`status`,status:e})},e=>{self.postMessage({type:`ais`,hot:e.hot,ids:e.ids,cold:e.cold},[e.hot])})}catch(e){self.postMessage({type:`error`,message:String(e)})}}else R?.close(),R=null}})();
package/public/index.html CHANGED
@@ -10,11 +10,11 @@
10
10
  * { margin: 0; padding: 0; box-sizing: border-box; }
11
11
  html, body, #app { width: 100%; height: 100%; overflow: hidden; }
12
12
  </style>
13
- <script type="module" crossorigin src="./assets/index-DA2nyVao.js"></script>
13
+ <script type="module" crossorigin src="./assets/index-B8i506EV.js"></script>
14
14
  <link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-QTnfLwEv.js">
15
15
  <link rel="modulepreload" crossorigin href="./assets/maplibre-gl-TciDBW6i.js">
16
16
  <link rel="stylesheet" crossorigin href="./assets/maplibre-gl-B2k4QVOw.css">
17
- <link rel="stylesheet" crossorigin href="./assets/index-C_KbDiXV.css">
17
+ <link rel="stylesheet" crossorigin href="./assets/index-C3psvft1.css">
18
18
  <script id="vite-plugin-pwa:register-sw" src="./registerSW.js"></script></head>
19
19
  <body>
20
20
  <div id="app"></div>
package/public/sw.js CHANGED
@@ -1 +1 @@
1
- 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 l=e||("document"in self?document.currentScript.src:"")||location.href;if(s[l])return;let o={};const t=e=>i(e,l),c={module:{uri:l},exports:o,require:t};s[l]=Promise.all(n.map(e=>c[e]||t(e))).then(e=>(r(...e),o))}}define(["./workbox-9c191d2f"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"index.html",revision:"fef6b8a02d5cd865838dcdd84bc5c01d"},{url:"icon-512.png",revision:"0657088dc11293c0b742467b3d9aa0e6"},{url:"icon-192.png",revision:"63ee319f3a9e92cea460048feeeacc26"},{url:"favicon.png",revision:"8a0854348265db4022235b1c95e57bbd"},{url:"assets/signalk_chart_core_bg-231oCTjv.wasm",revision:null},{url:"assets/signalk.worker-oIy9vdMV.js",revision:null},{url:"assets/rolldown-runtime-QTnfLwEv.js",revision:null},{url:"assets/maplibre-gl-TciDBW6i.js",revision:null},{url:"assets/maplibre-gl-B2k4QVOw.css",revision:null},{url:"assets/index-DA2nyVao.js",revision:null},{url:"assets/index-C_KbDiXV.css",revision:null}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"),{denylist:[/^\/tiles\//,/^\/signalk\//,/^\/v1\//]}))});
1
+ 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 l=e||("document"in self?document.currentScript.src:"")||location.href;if(s[l])return;let o={};const t=e=>i(e,l),c={module:{uri:l},exports:o,require:t};s[l]=Promise.all(n.map(e=>c[e]||t(e))).then(e=>(r(...e),o))}}define(["./workbox-9c191d2f"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"index.html",revision:"d1c0e73ec7a970cbc84d3db05392e843"},{url:"icon-512.png",revision:"0657088dc11293c0b742467b3d9aa0e6"},{url:"icon-192.png",revision:"63ee319f3a9e92cea460048feeeacc26"},{url:"favicon.png",revision:"8a0854348265db4022235b1c95e57bbd"},{url:"assets/signalk_chart_core_bg-Bx5Ksw6d.wasm",revision:null},{url:"assets/signalk.worker-BA8YHNLb.js",revision:null},{url:"assets/rolldown-runtime-QTnfLwEv.js",revision:null},{url:"assets/maplibre-gl-TciDBW6i.js",revision:null},{url:"assets/maplibre-gl-B2k4QVOw.css",revision:null},{url:"assets/index-C3psvft1.css",revision:null},{url:"assets/index-B8i506EV.js",revision:null}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"),{denylist:[/^\/tiles\//,/^\/signalk\//,/^\/v1\//]}))});
@@ -1 +0,0 @@
1
- .projection-picker.svelte-c20cna{z-index:10;flex-direction:column;align-items:flex-start;gap:3px;display:flex;position:absolute;top:200px;left:10px}.proj-btn.svelte-c20cna{color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:6px;padding:6px 10px;font-size:16px;transition:background .15s}.proj-btn.svelte-c20cna:hover{background:#282850e6}.proj-btn--manual.svelte-c20cna{color:#f59e0b}.north-indicator.svelte-c20cna{z-index:10;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:none;border-radius:50%;padding:0;transition:opacity .3s;position:absolute;top:80px;right:10px}.north-indicator--visible.svelte-c20cna{opacity:1;pointer-events:auto}.north-indicator.svelte-c20cna:hover circle:where(.svelte-c20cna){fill:#1e1e46d9}.ais-popup{color:#e0e0f0;min-width:180px;font-family:system-ui,sans-serif;font-size:12px}.ais-popup-title{color:#f59e0b;border-bottom:1px solid #444;margin-bottom:8px;padding-bottom:5px;font-size:13px;font-weight:600}.ais-popup table{border-collapse:collapse;width:100%}.ais-popup td{vertical-align:top;padding:2px 6px 2px 0}.ais-popup td:first-child{color:#888;white-space:nowrap;padding-right:12px}.ais-section{color:#666;text-transform:uppercase;letter-spacing:.08em;padding-top:8px;font-size:10px;font-weight:600}.ais-links{border-top:1px solid #333;gap:8px;margin-top:8px;padding-top:8px;display:flex}.ais-links a{color:#60a5fa;text-align:center;background:#60a5fa1a;border-radius:4px;flex:1;padding:3px 0;font-size:11px;text-decoration:none}.ais-links a:hover{background:#60a5fa33}.maplibregl-popup-content{background:#1e1e2e;border-radius:8px;padding:12px 14px;box-shadow:0 4px 20px #0009}.ais-disambig-list{margin:0;padding:0;list-style:none}.ais-disambig-item{cursor:pointer;color:#e0e0f0;white-space:nowrap;border-radius:4px;padding:6px 8px;font-size:12px;transition:background .12s}.ais-disambig-item:hover{color:#93c5fd;background:#60a5fa2e}.maplibregl-popup-tip{border-top-color:#1e1e2e}.maplibregl-popup-close-button{color:#888;font-size:16px}.maplibregl-popup{z-index:10}.gear-btn.svelte-1u3w06f{z-index:10;color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:6px;padding:6px 10px;font-size:16px;position:absolute;top:44px;left:10px}.backdrop.svelte-1u3w06f{z-index:20;background:#00000080;position:fixed;inset:0}.modal.svelte-1u3w06f{z-index:21;color:#fff;background:#1e1e2e;border-radius:10px;min-width:440px;max-height:90vh;padding:24px;font-family:system-ui,sans-serif;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000080}h2.svelte-1u3w06f{margin:0 0 16px;font-size:16px;font-weight:600}.tabs.svelte-1u3w06f{border-bottom:1px solid #335;margin-bottom:20px;display:flex}.tab.svelte-1u3w06f{color:#a0a0c0;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 18px;font-size:13px}.tab.active.svelte-1u3w06f{color:#fff;border-bottom-color:#4a6cf7}.section-title.svelte-1u3w06f{color:#668;text-transform:uppercase;letter-spacing:.08em;margin:16px 0 10px;font-size:11px;font-weight:600}.row.svelte-1u3w06f{align-items:center;gap:12px;margin-bottom:10px;display:flex}.row.svelte-1u3w06f>label:where(.svelte-1u3w06f){color:#a0a0c0;flex-shrink:0;width:72px;font-size:13px}.field.svelte-1u3w06f{flex:1;align-items:center;gap:8px;display:flex}.unit.svelte-1u3w06f{color:#668;font-size:12px}.hint.svelte-1u3w06f{color:#668;word-break:break-all;margin:2px 0 12px 84px;font-size:11px}.geo-error-note.svelte-1u3w06f{color:#f87171;margin:-6px 0 10px 84px;font-size:11px}input[type=text].svelte-1u3w06f,input[type=number].svelte-1u3w06f,select.svelte-1u3w06f{color:#fff;box-sizing:border-box;background:#2a2a3e;border:1px solid #446;border-radius:6px;padding:6px 8px;font-size:13px}input[type=text].svelte-1u3w06f{flex:1}input[type=number].svelte-1u3w06f{-moz-appearance:textfield;width:80px}select.svelte-1u3w06f{cursor:pointer}input[type=color].svelte-1u3w06f{cursor:pointer;background:0 0;border:1px solid #446;border-radius:6px;width:40px;height:30px;padding:2px}.actions.svelte-1u3w06f{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.btn.svelte-1u3w06f{cursor:pointer;border-radius:6px;padding:7px 16px;font-size:13px}.btn-cancel.svelte-1u3w06f{color:#a0a0c0;background:0 0;border:1px solid #446}.btn-save.svelte-1u3w06f{color:#fff;background:#4a6cf7;border:none}.fps-field.svelte-1u3w06f{flex:1;align-items:center;gap:8px;display:flex}.fps-slider.svelte-1u3w06f{cursor:pointer;flex:1;min-width:100px}.fps-target.svelte-1u3w06f{text-align:right;font-variant-numeric:tabular-nums;min-width:5rem;font-size:13px}.fps-actual.svelte-1u3w06f{color:#668;text-align:right;font-variant-numeric:tabular-nums;min-width:3.5rem;font-size:11px}.toggle.svelte-1u3w06f{cursor:pointer;flex-shrink:0;align-items:center;display:inline-flex}.toggle.svelte-1u3w06f input:where(.svelte-1u3w06f){opacity:0;width:0;height:0;position:absolute}.toggle-track.svelte-1u3w06f{background:#446;border-radius:10px;width:36px;height:20px;transition:background .2s;position:relative}.toggle.svelte-1u3w06f input:where(.svelte-1u3w06f):checked+.toggle-track:where(.svelte-1u3w06f){background:#4a6cf7}.toggle-thumb.svelte-1u3w06f{background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s;position:absolute;top:2px;left:2px}.toggle.svelte-1u3w06f input:where(.svelte-1u3w06f):checked+.toggle-track:where(.svelte-1u3w06f) .toggle-thumb:where(.svelte-1u3w06f){left:18px}.toggle-label.svelte-1u3w06f{color:#a0a0c0;font-size:12px}.charts-btn.svelte-1mbfew2{z-index:10;color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:6px;padding:6px 10px;font-size:16px;transition:background .15s;position:absolute;top:80px;left:10px}.charts-btn.svelte-1mbfew2:hover{background:#282850e6}.charts-btn.active.svelte-1mbfew2{background:#2563ebd9;border:1px solid #3b82f6}.backdrop.svelte-1mbfew2{z-index:20;position:fixed;inset:0}.panel.svelte-1mbfew2{z-index:21;color:#fff;background:#1e1e2e;border-radius:10px;flex-direction:column;min-width:280px;max-width:360px;max-height:70vh;padding:0;font-family:system-ui,sans-serif;display:flex;position:absolute;top:44px;left:50px;overflow:hidden;box-shadow:0 8px 32px #00000080}.panel-header.svelte-1mbfew2{border-bottom:1px solid #2a2a3e;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px 10px;display:flex}.panel-title.svelte-1mbfew2{color:#fff;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.close-btn.svelte-1mbfew2{color:#668;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px}.close-btn.svelte-1mbfew2:hover{color:#fff}.hint-row.svelte-1mbfew2{color:#668;padding:10px 16px;font-size:12px;list-style:none}.hint-row.error.svelte-1mbfew2{color:#f87171}.chart-list.svelte-1mbfew2{margin:0;padding:0;list-style:none;overflow-y:auto}.chart-row.svelte-1mbfew2{border-bottom:1px solid #2a2a3e;align-items:flex-start;gap:10px;padding:10px 16px;display:flex}.chart-row.svelte-1mbfew2:last-child{border-bottom:none}.chart-row.svelte-1mbfew2 input[type=checkbox]:where(.svelte-1mbfew2){cursor:pointer;flex-shrink:0;margin-top:3px}.chart-info.svelte-1mbfew2{flex-direction:column;gap:2px;min-width:0;display:flex}.chart-name.svelte-1mbfew2{color:#fff;cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.chart-desc.svelte-1mbfew2{color:#a0a0c0;font-size:11px}.chart-meta.svelte-1mbfew2{color:#668;font-size:11px}.badge.svelte-1mbfew2{color:#7b8cde;text-transform:uppercase;letter-spacing:.05em;background:#2a2a4e;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.wmts-warning.svelte-1mbfew2{color:#f59e0b;margin-top:4px;font-size:11px}.wmts-manual.svelte-1mbfew2{gap:6px;margin-top:4px;display:flex}.wmts-input.svelte-1mbfew2{color:#fff;background:#2a2a3e;border:1px solid #446;border-radius:4px;flex:1;min-width:0;padding:3px 6px;font-size:11px}.wmts-apply.svelte-1mbfew2{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:4px;padding:3px 8px;font-size:11px}.wmts-apply.svelte-1mbfew2:hover{background:#1d4ed8}.wmts-ok.svelte-1mbfew2{color:#34d399;margin-top:2px;font-size:11px}.wmts-clear.svelte-1mbfew2{color:#668;cursor:pointer;background:0 0;border:1px solid #446;border-radius:4px;align-self:flex-start;margin-top:2px;padding:1px 6px;font-size:10px}.wmts-clear.svelte-1mbfew2:hover{color:#f87171;border-color:#f87171}.wmts-layer-row.svelte-1mbfew2{align-items:center;gap:6px;margin-top:4px;display:flex}.wmts-layer-label.svelte-1mbfew2{color:#668;flex-shrink:0;font-size:11px}.wmts-layer-select.svelte-1mbfew2{color:#fff;cursor:pointer;background:#2a2a3e;border:1px solid #446;border-radius:4px;flex:1;padding:2px 4px;font-size:11px}.wmts-showall-label.svelte-1mbfew2{color:#668;cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:3px;font-size:11px;display:flex}.wmts-showall-label.svelte-1mbfew2:hover{color:#a0a0c0}
@@ -1 +0,0 @@
1
- (function(){Object.freeze({Connecting:0,0:`Connecting`,Connected:1,1:`Connected`,Disconnected:2,2:`Disconnected`,Error:3,3:`Error`});var e=class e{static __wrap(t){let n=Object.create(e.prototype);return n.__wbg_ptr=t,l.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,l.unregister(this),e}free(){let e=this.__destroy_into_raw();P.__wbg_position_free(e,0)}get altitude(){let e=P.__wbg_get_position_altitude(this.__wbg_ptr);return e[0]===0?void 0:e[1]}get latitude(){return P.__wbg_get_position_latitude(this.__wbg_ptr)}get longitude(){return P.__wbg_get_position_longitude(this.__wbg_ptr)}constructor(e,t){let n=P.position_new(e,t);return this.__wbg_ptr=n,l.register(this,this.__wbg_ptr,this),this}set altitude(e){P.__wbg_set_position_altitude(this.__wbg_ptr,!T(e),T(e)?0:e)}set latitude(e){P.__wbg_set_position_latitude(this.__wbg_ptr,e)}set longitude(e){P.__wbg_set_position_longitude(this.__wbg_ptr,e)}};Symbol.dispose&&(e.prototype[Symbol.dispose]=e.prototype.free);var t=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,u.unregister(this),e}free(){let e=this.__destroy_into_raw();P.__wbg_signalkclient_free(e,0)}close(){P.signalkclient_close(this.__wbg_ptr)}constructor(e,t,n,r){let i=D(e,P.__wbindgen_malloc,P.__wbindgen_realloc),a=N,o=P.signalkclient_new(i,a,t,n,r);if(o[2])throw O(o[1]);return this.__wbg_ptr=o[0],u.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(t.prototype[Symbol.dispose]=t.prototype.free);var n=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,d.unregister(this),e}free(){let e=this.__destroy_into_raw();P.__wbg_vesselstate_free(e,0)}get cog(){let e=P.__wbg_get_vesselstate_cog(this.__wbg_ptr);return e[0]===0?void 0:e[1]}get heading(){let e=P.__wbg_get_vesselstate_heading(this.__wbg_ptr);return e[0]===0?void 0:e[1]}get position(){let t=P.__wbg_get_vesselstate_position(this.__wbg_ptr);return t===0?void 0:e.__wrap(t)}get sog(){let e=P.__wbg_get_vesselstate_sog(this.__wbg_ptr);return e[0]===0?void 0:e[1]}set cog(e){P.__wbg_set_vesselstate_cog(this.__wbg_ptr,!T(e),T(e)?0:e)}set heading(e){P.__wbg_set_vesselstate_heading(this.__wbg_ptr,!T(e),T(e)?0:e)}set position(t){let n=0;T(t)||(p(t,e),n=t.__destroy_into_raw()),P.__wbg_set_vesselstate_position(this.__wbg_ptr,n)}set sog(e){P.__wbg_set_vesselstate_sog(this.__wbg_ptr,!T(e),T(e)?0:e)}constructor(){let e=P.vesselstate_new();return this.__wbg_ptr=e,d.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(n.prototype[Symbol.dispose]=n.prototype.free);function r(){return{__proto__:null,"./signalk_chart_core_bg.js":{__proto__:null,__wbg___wbindgen_debug_string_edece8177ad01481:function(e,t){let n=D(h(t),P.__wbindgen_malloc,P.__wbindgen_realloc),r=N;v().setInt32(e+4,r,!0),v().setInt32(e+0,n,!0)},__wbg___wbindgen_is_undefined_35bb9f4c7fd651d5:function(e){return e===void 0},__wbg___wbindgen_string_get_d109740c0d18f4d7:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=T(r)?0:D(r,P.__wbindgen_malloc,P.__wbindgen_realloc),a=N;v().setInt32(e+4,a,!0),v().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_9c31b086c2b26051:function(e,t){throw Error(x(e,t))},__wbg__wbg_cb_unref_3fa391f3fcdb55f8:function(e){e._wbg_cb_unref()},__wbg_buffer_765a8f5ca0b6d2ab:function(e){return e.buffer},__wbg_call_dfde26266607c996:function(){return w(function(e,t,n){return e.call(t,n)},arguments)},__wbg_clearTimeout_b339cb81aa470a3e:function(e,t){e.clearTimeout(t)},__wbg_close_e323e9eee669c291:function(){return w(function(e){e.close()},arguments)},__wbg_data_5fc79a19e47d1531:function(e){return e.data},__wbg_instanceof_WorkerGlobalScope_a93ee1765e6a23bf:function(e){let t;try{t=e instanceof WorkerGlobalScope}catch{t=!1}return t},__wbg_new_02d162bc6cf02f60:function(){return{}},__wbg_new_310879b66b6e95e1:function(){return[]},__wbg_new_b1280f836646084c:function(){return w(function(e,t){return new WebSocket(x(e,t))},arguments)},__wbg_new_from_slice_02962bf7778cf945:function(e,t){return new Float64Array(g(e,t))},__wbg_new_with_length_1278c16a5c5b497f:function(e){return new Float64Array(e>>>0)},__wbg_new_with_length_c2a8f9ac6aaaac03:function(e){return Array(e>>>0)},__wbg_now_81363d44c96dd239:function(){return Date.now()},__wbg_send_e1d2f71ce4473d1e:function(){return w(function(e,t,n){e.send(x(t,n))},arguments)},__wbg_setTimeout_a2b48e67340623fd:function(){return w(function(e,t,n){return e.setTimeout(t,n)},arguments)},__wbg_set_6be42768c690e380:function(e,t,n){e[t]=n},__wbg_set_78ea6a19f4818587:function(e,t,n){e[t>>>0]=n},__wbg_set_a0e911be3da02782:function(){return w(function(e,t,n){return Reflect.set(e,t,n)},arguments)},__wbg_set_onclose_3121e15055418a37:function(e,t){e.onclose=t},__wbg_set_onerror_1dd52df6279c8dd2:function(e,t){e.onerror=t},__wbg_set_onmessage_9eb2cf76e70783ad:function(e,t){e.onmessage=t},__wbg_set_onopen_6f3fc5e2ad3144f1:function(e,t){e.onopen=t},__wbg_static_accessor_GLOBAL_THIS_02344c9b09eb08a9:function(){let e=typeof globalThis>`u`?null:globalThis;return T(e)?0:f(e)},__wbg_static_accessor_GLOBAL_ac6d4ac874d5cd54:function(){let e=typeof global>`u`?null:global;return T(e)?0:f(e)},__wbg_static_accessor_SELF_9b2406c23aeb2023:function(){let e=typeof self>`u`?null:self;return T(e)?0:f(e)},__wbg_static_accessor_WINDOW_b34d2126934e16ba:function(){let e=typeof window>`u`?null:window;return T(e)?0:f(e)},__wbindgen_cast_0000000000000001:function(e,t){return E(e,t,a)},__wbindgen_cast_0000000000000002:function(e,t){return E(e,t,o)},__wbindgen_cast_0000000000000003:function(e,t){return E(e,t,s)},__wbindgen_cast_0000000000000004:function(e,t){return E(e,t,c)},__wbindgen_cast_0000000000000005:function(e,t){return E(e,t,i)},__wbindgen_cast_0000000000000006:function(e){return e},__wbindgen_cast_0000000000000007:function(e,t){return x(e,t)},__wbindgen_init_externref_table:function(){let e=P.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function i(e,t){P.wasm_bindgen__convert__closures_____invoke__hf9cd37beb7bb93c2(e,t)}function a(e,t,n){P.wasm_bindgen__convert__closures_____invoke__h064a3f5788f1fd2a(e,t,n)}function o(e,t,n){P.wasm_bindgen__convert__closures_____invoke__h064a3f5788f1fd2a_1(e,t,n)}function s(e,t,n){P.wasm_bindgen__convert__closures_____invoke__h064a3f5788f1fd2a_2(e,t,n)}function c(e,t,n){P.wasm_bindgen__convert__closures_____invoke__h064a3f5788f1fd2a_3(e,t,n)}let l=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>P.__wbg_position_free(e,1)),u=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>P.__wbg_signalkclient_free(e,1)),d=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>P.__wbg_vesselstate_free(e,1));function f(e){let t=P.__externref_table_alloc();return P.__wbindgen_externrefs.set(t,e),t}function p(e,t){if(!(e instanceof t))throw Error(`expected instance of ${t.name}`)}let m=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>P.__wbindgen_destroy_closure(e.a,e.b));function h(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=h(e[0]));for(let r=1;r<t;r++)n+=`, `+h(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function g(e,t){return e>>>=0,b().subarray(e/8,e/8+t)}let _=null;function v(){return(_===null||_.buffer.detached===!0||_.buffer.detached===void 0&&_.buffer!==P.memory.buffer)&&(_=new DataView(P.memory.buffer)),_}let y=null;function b(){return(y===null||y.byteLength===0)&&(y=new Float64Array(P.memory.buffer)),y}function x(e,t){return j(e>>>0,t)}let S=null;function C(){return(S===null||S.byteLength===0)&&(S=new Uint8Array(P.memory.buffer)),S}function w(e,t){try{return e.apply(this,t)}catch(e){let t=f(e);P.__wbindgen_exn_store(t)}}function T(e){return e==null}function E(e,t,n){let r={a:e,b:t,cnt:1},i=(...e)=>{r.cnt++;let t=r.a;r.a=0;try{return n(t,r.b,...e)}finally{r.a=t,i._wbg_cb_unref()}};return i._wbg_cb_unref=()=>{--r.cnt===0&&(P.__wbindgen_destroy_closure(r.a,r.b),r.a=0,m.unregister(r))},m.register(i,r,r),i}function D(e,t,n){if(n===void 0){let n=M.encode(e),r=t(n.length,1)>>>0;return C().subarray(r,r+n.length).set(n),N=n.length,r}let r=e.length,i=t(r,1)>>>0,a=C(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=C().subarray(i+o,i+r),a=M.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return N=o,i}function O(e){let t=P.__wbindgen_externrefs.get(e);return P.__externref_table_dealloc(e),t}let k=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});k.decode();let A=0;function j(e,t){return A+=t,A>=2146435072&&(k=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),k.decode(),A=t),k.decode(C().subarray(e,e+t))}let M=new TextEncoder;`encodeInto`in M||(M.encodeInto=function(e,t){let n=M.encode(e);return t.set(n),{read:e.length,written:n.length}});let N=0,P;function F(e,t){return P=e.exports,_=null,y=null,S=null,P.__wbindgen_start(),P}async function I(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}async function L(e){if(P!==void 0)return P;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),e===void 0&&(e=new URL(``+new URL(`signalk_chart_core_bg-231oCTjv.wasm`,self.location.href).href,``+self.location.href));let t=r();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:i}=await I(await e,t);return F(n,i)}let R=null,z=!1;async function B(){z||=(await L(),!0)}self.onmessage=async e=>{let n=e.data;if(n.type===`connect`){await B(),R?.close();try{R=new t(n.url,e=>{self.postMessage({type:`state`,state:e})},e=>{self.postMessage({type:`status`,status:e})},e=>{self.postMessage({type:`ais`,hot:e.hot,ids:e.ids,cold:e.cold},[e.hot])})}catch(e){self.postMessage({type:`error`,message:String(e)})}}else R?.close(),R=null}})();