ocearo-ui 0.1.4 → 0.1.6
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.
- package/404.html +1 -1
- package/_next/static/chunks/12.1cb1cb79af19b45c.js +1 -0
- package/_next/static/chunks/138.29fae0d30cbcb865.js +1 -0
- package/_next/static/chunks/145.227304ec9499ce36.js +1 -0
- package/_next/static/chunks/188.479f10852eda524e.js +1 -0
- package/_next/static/chunks/197.132b62dcc182f536.js +1 -0
- package/_next/static/chunks/199.421b63f3aaefc184.js +1 -0
- package/_next/static/chunks/226.7eef725b0fecdaa6.js +151 -0
- package/_next/static/chunks/252.5cd252da0bf0d804.js +1 -0
- package/_next/static/chunks/254.ee9f315db5848794.js +505 -0
- package/_next/static/chunks/268.1fa9ea171c5d8c55.js +1 -0
- package/_next/static/chunks/353.64fb99ba6a6c1163.js +1 -0
- package/_next/static/chunks/412.0ccf21408ebcc7bf.js +1 -0
- package/_next/static/chunks/496.c422606f44c5ff90.js +1 -0
- package/_next/static/chunks/59.47b617df6daa6a8a.js +1 -0
- package/_next/static/chunks/610.2ae9cfb38673bc98.js +1 -0
- package/_next/static/chunks/687.018d8d41c5427710.js +26 -0
- package/_next/static/chunks/728.a5f9c5c5635aab4e.js +1 -0
- package/_next/static/chunks/73.bd15026ac739c79e.js +1 -0
- package/_next/static/chunks/746-5701803ffb58d9ef.js +1 -0
- package/_next/static/chunks/751.a5a27eb6ba09442d.js +1 -0
- package/_next/static/chunks/79.646c5d2a7f1f2df9.js +1 -0
- package/_next/static/chunks/870fdd6f.bae282addcad29d9.js +1 -0
- package/_next/static/chunks/890.b840b9c2709d5ac5.js +1 -0
- package/_next/static/chunks/909.22022bef0ade2b3a.js +1 -0
- package/_next/static/chunks/936.332956628f439341.js +1 -0
- package/_next/static/chunks/app/page-da06733af0871855.js +1 -0
- package/_next/static/chunks/{main-3fc5e29932a06222.js → main-a509d18d035f234f.js} +1 -1
- package/_next/static/chunks/webpack-312c9b9c20b5091b.js +1 -0
- package/_next/static/css/abdd1ffc5585a364.css +3 -0
- package/icons/mediaplayer/amazon.png +0 -0
- package/icons/mediaplayer/deezer.png +0 -0
- package/icons/mediaplayer/disneyplus.png +0 -0
- package/icons/mediaplayer/netflix.png +0 -0
- package/icons/mediaplayer/youtube.png +0 -0
- package/index.html +1 -1
- package/index.txt +2 -2
- package/{ocearo-ui-0.1.4.tgz → ocearo-ui-0.1.6.tgz} +0 -0
- package/package.json +1 -1
- package/_next/static/chunks/870fdd6f-53e4c81d83a336e0.js +0 -1
- package/_next/static/chunks/875-34a16d45b233a109.js +0 -680
- package/_next/static/chunks/app/page-79c9775d94e17ad1.js +0 -1
- package/_next/static/chunks/webpack-6ba3ee57ba412e0f.js +0 -1
- package/_next/static/css/c20c87eb42004889.css +0 -3
- /package/_next/static/chunks/{0f8af13e-59794c1587e7a41d.js → 0f8af13e.19323e6ac5e18a8c.js} +0 -0
- /package/_next/static/chunks/{b536a0f1-7c94f39427c6b177.js → b536a0f1.31846b3e993f8d95.js} +0 -0
- /package/_next/static/{zPPHCJv8uKI8NHlaiuVWV → q6cCRWRSJkrokJfjy41Tl}/_buildManifest.js +0 -0
- /package/_next/static/{zPPHCJv8uKI8NHlaiuVWV → q6cCRWRSJkrokJfjy41Tl}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[751],{5751:function(e,t,l){l.r(t);var a=l(7437),n=l(3082),c=l(2265);let o={SOG:"navigation.speedOverGround",VMG:"performance.velocityMadeGood",STW:"navigation.speedThroughWater",POL:"performance.polarSpeedRatio"};t.default=()=>{let{nightMode:e,getSignalKValue:t}=(0,n.yC)(),[l,r]=(0,c.useState)("SOG"),s=(0,c.useMemo)(()=>{let e={};for(let[l,a]of Object.entries(o)){let c=t(a);null!=c&&(e[l]=(0,n.$)(c))}return e},[t]),i=Object.keys(s),d=void 0!==s[l]?l:i[0],x=s[d],u=(0,c.useCallback)(()=>{if(0===i.length)return;let e=(i.indexOf(d)+1)%i.length;r(i[e])},[i,d]),h=e?"text-oNight":"text-oGray";return 0===i.length?(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)("div",{className:"text-6xl font-bold text-gray-400",children:"--"}),(0,a.jsx)("div",{className:"text-lg ".concat(h),children:"NO DATA"})]}):(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)("div",{className:"text-6xl font-bold cursor-pointer ".concat(e?"text-oNight":"text-white"),onClick:u,role:"button",tabIndex:0,"aria-label":"Current speed: ".concat(x," ").concat(d,". Click to change speed type."),children:(null==x?void 0:x.toFixed(1))||"--"}),(0,a.jsx)("div",{className:"text-lg ".concat(h),children:d})]})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[79],{8079:function(e,t,l){l.r(t);var r=l(7437),s=l(2265);t.default=e=>{let{path:t}=e,[l,c]=(0,s.useState)([]),[n,o]=(0,s.useState)(null),a=(0,s.useRef)(null);return(0,s.useEffect)(()=>{(async()=>{try{let e=await fetch("".concat(t,"/index.json"));if(!e.ok)throw Error("Network response was not ok");let l=await e.json();c(l),l.length>0&&o(l[0])}catch(e){console.error("Error fetching PDF files:",e)}})()},[t]),(0,r.jsxs)("div",{className:"flex flex-col h-full",ref:a,children:[(0,r.jsx)("div",{className:"bg-oGray2 text-white p-4 flex space-x-4",children:l.map((e,t)=>(0,r.jsx)("button",{className:"px-4 py-2 rounded-t ".concat((null==n?void 0:n.file)===e.file?"bg-oGray font-bold":"hover:bg-oGray"),onClick:()=>o(e),children:e.title},t))}),(0,r.jsx)("div",{className:"flex-grow bg-oGray2 text-white p-4 flex items-center justify-center",children:n&&(0,r.jsx)("iframe",{src:"".concat(t,"/").concat(n.file),title:"PDF Viewer",width:"100%",height:"100%",style:{border:"none"}})})]})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[676],{5217:function(c,l,s){s.d(l,{$v3:function(){return i},BDt:function(){return k},BQ9:function(){return M},DBF:function(){return _},DSs:function(){return v},GTN:function(){return e},HLz:function(){return S},ItS:function(){return C},IyC:function(){return R},Kb6:function(){return T},L02:function(){return h},NBC:function(){return B},RoX:function(){return y},Rpv:function(){return t},S9Y:function(){return G},SJR:function(){return q},TL5:function(){return w},Tr1:function(){return o},Xjp:function(){return p},Zkk:function(){return g},ccn:function(){return f},d8e:function(){return D},dT$:function(){return u},hGM:function(){return m},iGi:function(){return b},jOV:function(){return L},lnS:function(){return d},mDh:function(){return x},szN:function(){return N},tLL:function(){return z},uM9:function(){return n},whq:function(){return r},zvy:function(){return a}});let n={prefix:"fas",iconName:"cloud",icon:[640,512,[9729],"f0c2","M0 336c0 79.5 64.5 144 144 144l368 0c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z"]},e={prefix:"fas",iconName:"compass",icon:[512,512,[129517],"f14e","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm50.7-186.9L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},i={prefix:"fas",iconName:"memory",icon:[576,512,[],"f538","M64 64C28.7 64 0 92.7 0 128l0 7.4c0 6.8 4.4 12.6 10.1 16.3C23.3 160.3 32 175.1 32 192s-8.7 31.7-21.9 40.3C4.4 236 0 241.8 0 248.6L0 320l576 0 0-71.4c0-6.8-4.4-12.6-10.1-16.3C552.7 223.7 544 208.9 544 192s8.7-31.7 21.9-40.3c5.7-3.7 10.1-9.5 10.1-16.3l0-7.4c0-35.3-28.7-64-64-64L64 64zM576 352L0 352l0 64c0 17.7 14.3 32 32 32l48 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 96 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 96 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 96 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 48 0c17.7 0 32-14.3 32-32l0-64zM192 160l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32z"]},f={prefix:"fas",iconName:"temperature-half",icon:[320,512,[127777,"temperature-2","thermometer-2","thermometer-half"],"f2c9","M160 64c-26.5 0-48 21.5-48 48l0 164.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5L208 112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112l0 164.4c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6L48 112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3L144 208c0-8.8 7.2-16 16-16s16 7.2 16 16l0 114.7c18.6 6.6 32 24.4 32 45.3z"]},r=f,o={prefix:"fas",iconName:"charging-station",icon:[576,512,[],"f5e7","M96 0C60.7 0 32 28.7 32 64l0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-144 16 0c22.1 0 40 17.9 40 40l0 32c0 39.8 32.2 72 72 72s72-32.2 72-72l0-123.7c32.5-10.2 56-40.5 56-76.3l0-32c0-8.8-7.2-16-16-16l-16 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-16 0c-8.8 0-16 7.2-16 16l0 32c0 35.8 23.5 66.1 56 76.3L472 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-48.6-39.4-88-88-88l-16 0 0-192c0-35.3-28.7-64-64-64L96 0zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9 57.8 0c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9L96 208c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z"]},a={prefix:"fas",iconName:"microchip",icon:[512,512,[],"f2db","M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm192 32l-192 0 0 192 192 0 0-192z"]},t={prefix:"fas",iconName:"fire",icon:[448,512,[128293],"f06d","M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z"]},z={prefix:"fas",iconName:"map-location-dot",icon:[576,512,["map-marked-alt"],"f5a0","M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152l0 270.8c0 9.8-6 18.6-15.1 22.3L416 503l0-302.6zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6l0 251.4L32.9 502.7C17.1 509 0 497.4 0 480.4L0 209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77l0 249.3L192 449.4 192 255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"]},L={prefix:"fas",iconName:"snowflake",icon:[448,512,[10052,10054],"f2dc","M224 0c17.7 0 32 14.3 32 32l0 30.1 15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49 0 70.3 61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7l0 70.3 49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15 0 30.1c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-30.1-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49 0-70.3-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3l0-70.3L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15L192 32c0-17.7 14.3-32 32-32z"]},u={prefix:"fas",iconName:"code",icon:[640,512,[],"f121","M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"]},m={prefix:"fas",iconName:"cube",icon:[512,512,[],"f1b2","M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6C495 83.4 512 107.5 512 134.6l0 242.9c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4L0 134.6c0-27 17-51.2 42.5-60.3l192-68.6zM256 66L82.3 128 256 190l173.7-62L256 66zm32 368.6l160-57.1 0-188L288 246.6l0 188z"]},M={prefix:"fas",iconName:"square-parking",icon:[448,512,[127359,"parking"],"f540","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM192 256l48 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-48 0 0 64zm48 64l-48 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64 0-120c0-22.1 17.9-40 40-40l72 0c53 0 96 43 96 96s-43 96-96 96z"]},C={prefix:"fas",iconName:"headphones",icon:[512,512,[127911],"f025","M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6c26.5 0 48 21.5 48 48l0 128c0 26.5-21.5 48-48 48c-44.2 0-80-35.8-80-80l0-16 0-48 0-48C0 146.6 114.6 32 256 32s256 114.6 256 256l0 48 0 48 0 16c0 44.2-35.8 80-80 80c-26.5 0-48-21.5-48-48l0-128c0-26.5 21.5-48 48-48c10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80z"]},p={prefix:"fas",iconName:"up-right-from-square",icon:[512,512,["external-link-alt"],"f35d","M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-128c0-17.7-14.3-32-32-32L352 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z"]},N={prefix:"fas",iconName:"table-cells",icon:[512,512,["th"],"f00a","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm88 64l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0zM64 224l88 0 0 64-88 0 0-64zm232 0l0 64-88 0 0-64 88 0zm64 0l88 0 0 64-88 0 0-64zM152 352l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0z"]},x={prefix:"fas",iconName:"satellite",icon:[512,512,[128752],"f7bf","M233 7c-9.4-9.4-24.6-9.4-33.9 0l-96 96c-9.4 9.4-9.4 24.6 0 33.9l89.4 89.4-15.5 15.5C152.3 230.4 124.9 224 96 224c-31.7 0-61.5 7.7-87.8 21.2c-9 4.7-10.3 16.7-3.1 23.8L112.7 376.7 96.3 393.1c-2.6-.7-5.4-1.1-8.3-1.1c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32c0-2.9-.4-5.6-1.1-8.3l16.4-16.4L242.9 506.9c7.2 7.2 19.2 5.9 23.8-3.1C280.3 477.5 288 447.7 288 416c0-28.9-6.4-56.3-17.8-80.9l15.5-15.5L375 409c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9l-89.4-89.4 55-55c12.5-12.5 12.5-32.8 0-45.3l-48-48c-12.5-12.5-32.8-12.5-45.3 0l-55 55L233 7zm159 351l-72.4-72.4 62.1-62.1L454.1 296 392 358.1zM226.3 192.4L153.9 120 216 57.9l72.4 72.4-62.1 62.1z"]},h={prefix:"fas",iconName:"water",icon:[576,512,[],"f773","M269.5 69.9c11.1-7.9 25.9-7.9 37 0C329 85.4 356.5 96 384 96c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 149.7 417 160 384 160c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4C42.8 92.6 61 83.5 75.3 71.6c11.1-9.5 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 85.2 165.1 96 192 96c27.5 0 55-10.6 77.5-26.1zm37 288C329 373.4 356.5 384 384 384c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 437.7 417 448 384 448c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 373.2 165.1 384 192 384c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0zm0-144C329 229.4 356.5 240 384 240c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 293.7 417 304 384 304c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 229.2 165.1 240 192 240c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z"]},d={prefix:"fas",iconName:"ship",icon:[576,512,[128674],"f21a","M192 32c0-17.7 14.3-32 32-32L352 0c17.7 0 32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 128 44.4 14.8c23.1 7.7 29.5 37.5 11.5 53.9l-101 92.6c-16.2 9.4-34.7 15.1-50.9 15.1c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-16.2 0-34.7-5.7-50.9-15.1l-101-92.6c-18-16.5-11.6-46.2 11.5-53.9L96 240l0-128c0-26.5 21.5-48 48-48l48 0 0-32zM160 218.7l107.8-35.9c13.1-4.4 27.3-4.4 40.5 0L416 218.7l0-90.7-256 0 0 90.7zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z"]},k={prefix:"fas",iconName:"bolt",icon:[448,512,[9889,"zap"],"f0e7","M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288l111.5 0L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7l-111.5 0L349.4 44.6z"]},b={prefix:"fas",iconName:"handshake-angle",icon:[640,512,["hands-helping"],"f4c4","M544 248l0 3.3 69.7-69.7c21.9-21.9 21.9-57.3 0-79.2L535.6 24.4c-21.9-21.9-57.3-21.9-79.2 0L416.3 64.5c-2.7-.3-5.5-.5-8.3-.5L296 64c-37.1 0-67.6 28-71.6 64l-.4 0 0 120c0 22.1 17.9 40 40 40s40-17.9 40-40l0-72c0 0 0-.1 0-.1l0-15.9 16 0 136 0c0 0 0 0 .1 0l7.9 0c44.2 0 80 35.8 80 80l0 8zM336 192l0 56c0 39.8-32.2 72-72 72s-72-32.2-72-72l0-118.6c-35.9 6.2-65.8 32.3-76 68.2L99.5 255.2 26.3 328.4c-21.9 21.9-21.9 57.3 0 79.2l78.1 78.1c21.9 21.9 57.3 21.9 79.2 0l37.7-37.7c.9 0 1.8 .1 2.7 .1l160 0c26.5 0 48-21.5 48-48c0-5.6-1-11-2.7-16l2.7 0c26.5 0 48-21.5 48-48c0-12.8-5-24.4-13.2-33c25.7-5 45.1-27.6 45.2-54.8l0-.4c-.1-30.8-25.1-55.8-56-55.8c0 0 0 0 0 0l-120 0z"]},g={prefix:"fas",iconName:"droplet",icon:[384,512,[128167,"tint"],"f043","M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0l1.8 0c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z"]},S={prefix:"fas",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},y={prefix:"fas",iconName:"battery-full",icon:[576,512,[128267,"battery","battery-5"],"f240","M464 160c8.8 0 16 7.2 16 16l0 160c0 8.8-7.2 16-16 16L80 352c-8.8 0-16-7.2-16-16l0-160c0-8.8 7.2-16 16-16l384 0zM80 96C35.8 96 0 131.8 0 176L0 336c0 44.2 35.8 80 80 80l384 0c44.2 0 80-35.8 80-80l0-16c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l0-16c0-44.2-35.8-80-80-80L80 96zm368 96L96 192l0 128 352 0 0-128z"]},v={prefix:"fas",iconName:"wind",icon:[512,512,[],"f72e","M288 32c0 17.7 14.3 32 32 32l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l320 0c53 0 96-43 96-96s-43-96-96-96L320 0c-17.7 0-32 14.3-32 32zm64 352c0 17.7 14.3 32 32 32l32 0c53 0 96-43 96-96s-43-96-96-96L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32 14.3-32 32zM128 512l32 0c53 0 96-43 96-96s-43-96-96-96L32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32z"]},w={prefix:"fas",iconName:"expand",icon:[448,512,[],"f065","M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"]},B={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]},D={prefix:"fas",iconName:"rotate",icon:[512,512,[128260,"sync-alt"],"f2f1","M142.9 142.9c-17.5 17.5-30.1 38-37.8 59.8c-5.9 16.7-24.2 25.4-40.8 19.5s-25.4-24.2-19.5-40.8C55.6 150.7 73.2 122 97.6 97.6c87.2-87.2 228.3-87.5 315.8-1L455 55c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 128c0 13.3-10.7 24-24 24l-8.4 0c0 0 0 0 0 0L344 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l41.1-41.1c-62.6-61.5-163.1-61.2-225.3 1zM16 312c0-13.3 10.7-24 24-24l7.6 0 .7 0L168 288c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-41.1 41.1c62.6 61.5 163.1 61.2 225.3-1c17.5-17.5 30.1-38 37.8-59.8c5.9-16.7 24.2-25.4 40.8-19.5s25.4 24.2 19.5 40.8c-10.8 30.6-28.4 59.3-52.9 83.8c-87.2 87.2-228.3 87.5-315.8 1L57 457c-6.9 6.9-17.2 8.9-26.2 5.2S16 449.7 16 440l0-119.6 0-.7 0-7.6z"]},T={prefix:"fas",iconName:"gears",icon:[640,512,["cogs"],"f085","M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8l-.7 0c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"]},_={prefix:"fas",iconName:"moon",icon:[384,512,[127769,9214],"f186","M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"]},q={prefix:"fas",iconName:"anchor",icon:[576,512,[9875],"f13d","M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80L224 176c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 208-48 0c-53 0-96-43-96-96l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 88.4 71.6 160 160 160l80 0 80 0c88.4 0 160-71.6 160-160l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-56-56c-9.4-9.4-24.6-9.4-33.9 0l-56 56c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 53-43 96-96 96l-48 0 0-208 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-10.9 0z"]},G={prefix:"fas",iconName:"cloud-sun",icon:[640,512,[9925],"f6c4","M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 84.7 14.1c5.4 .9 10 4.5 12.1 9.6s1.5 10.9-1.6 15.4l-38.5 55c-2.2-.1-4.4-.2-6.7-.2c-23.3 0-45.1 6.2-64 17.1l0-1.1c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17c-4.5 3.2-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM639.9 431.9c0 44.2-35.8 80-80 80l-271.9 0c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z"]},R={prefix:"fas",iconName:"video",icon:[576,512,["video-camera"],"f03d","M0 128C0 92.7 28.7 64 64 64l256 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128zM559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2l0 256c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 337.1l0-17.1 0-128 0-17.1 14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z"]}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[890],{9927:function(e,n,t){var o={"./default/Scene.jsx":[2967,967],"./optimist/Scene.jsx":[6154,154],"./sailboat/Scene.jsx":[2274,274],"./ship/Scene.jsx":[5221,221],"./windsurf/Scene.jsx":[2975,975]};function r(e){if(!t.o(o,e))return Promise.resolve().then(function(){var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n});var n=o[e],r=n[0];return t.e(n[1]).then(function(){return t(r)})}r.keys=function(){return Object.keys(o)},r.id=9927,e.exports=r},890:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return X}});var o=t(7437),r=t(2265),a=t(8328),i=t(4725),l=t(5903),s=t(5550),c=t(1909),u=t(8124),d=t(8345),h=t(2079),f=t(3082);let m=(0,d.g)({time:0,speed:1,scale:3,opacity:.5,color:new h.Ilk(7895160),foamColor:new h.Ilk(16777215),waterColor:new h.Ilk(26367),rainbowActive:0},"\n varying vec2 vUv;\n varying float vElevation;\n \n void main() {\n vUv = uv;\n \n // Add subtle vertex displacement for a wavy effect.\n float elevation = sin(position.x * 0.2 + position.y * 0.3) * 0.1;\n vElevation = elevation;\n vec3 newPosition = position + normal * elevation;\n \n gl_Position = projectionMatrix * modelViewMatrix * vec4(newPosition, 1.0);\n }\n ","\n uniform float time;\n uniform float speed;\n uniform float scale;\n uniform float opacity;\n uniform vec3 color;\n uniform vec3 foamColor;\n uniform vec3 waterColor;\n uniform float rainbowActive; // Controls whether the rainbow effect is applied.\n\n varying vec2 vUv;\n varying float vElevation;\n\n // Standard noise functions.\n vec4 permute(vec4 x) {\n return mod(((x * 34.0) + 1.0) * x, 289.0);\n }\n\n vec2 fade(vec2 t) {\n return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);\n }\n\n float cnoise(vec2 P) {\n vec4 Pi = floor(P.xyxy) + vec4(0.0, 0.0, 1.0, 1.0);\n vec4 Pf = fract(P.xyxy) - vec4(0.0, 0.0, 1.0, 1.0);\n Pi = mod(Pi, 289.0);\n vec4 ix = Pi.xzxz;\n vec4 iy = Pi.yyww;\n vec4 fx = Pf.xzxz;\n vec4 fy = Pf.yyww;\n vec4 i = permute(permute(ix) + iy);\n vec4 gx = 2.0 * fract(i * 0.0243902439) - 1.0;\n vec4 gy = abs(gx) - 0.5;\n vec4 tx = floor(gx + 0.5);\n gx = gx - tx;\n vec2 g00 = vec2(gx.x, gy.x);\n vec2 g10 = vec2(gx.y, gy.y);\n vec2 g01 = vec2(gx.z, gy.z);\n vec2 g11 = vec2(gx.w, gy.w);\n vec4 norm = 1.79284291400159 - 0.85373472095314 *\n vec4(dot(g00, g00), dot(g10, g10), dot(g01, g01), dot(g11, g11));\n g00 *= norm.x;\n g10 *= norm.y;\n g01 *= norm.z;\n g11 *= norm.w;\n float n00 = dot(g00, vec2(fx.x, fy.x));\n float n10 = dot(g10, vec2(fx.y, fy.y));\n float n01 = dot(g01, vec2(fx.z, fy.z));\n float n11 = dot(g11, vec2(fx.w, fy.w));\n vec2 fade_xy = fade(Pf.xy);\n vec2 n_x = mix(vec2(n00, n01), vec2(n10, n11), fade_xy.x);\n float n_xy = mix(n_x.x, n_x.y, fade_xy.y);\n return 2.3 * n_xy;\n }\n\n // HSL to RGB conversion function.\n vec3 hsl2rgb(vec3 hsl) {\n vec3 rgb = clamp(abs(mod(hsl.x * 6.0 + vec3(0.0, 4.0, 2.0), 6.0) - 3.0) - 1.0,\n 0.0, 1.0);\n rgb = rgb * rgb * (3.0 - 2.0 * rgb);\n return hsl.z + hsl.y * (rgb - 0.5) * (1.0 - abs(2.0 * hsl.z - 1.0));\n }\n\n void main() {\n // Combine multiple layers of noise to build a complex water pattern.\n float baseNoise = cnoise(vUv * scale + vec2(time * speed, 0.0));\n float detailNoise = cnoise(vUv * scale * 2.0 + vec2(time * speed * 1.5, 0.0)) * 0.5;\n float turbulence = cnoise(vUv * scale * 4.0 + vec2(time * speed * 2.0, 0.0)) * 0.25;\n float noise = baseNoise + detailNoise + turbulence;\n \n // Create a wake pattern.\n float wake = smoothstep(0.3, 0.7, 1.0 - abs(vUv.x - 0.5) * 2.0);\n \n // Create a foam effect.\n float foam = smoothstep(0.4, 0.6, noise + wake);\n \n // Mix water and foam colors, then blend in the base color.\n vec3 finalColor = mix(waterColor, foamColor, foam);\n finalColor = mix(finalColor, color, wake * 0.5);\n \n // Adjust dynamic opacity.\n float alpha = opacity * (wake + foam * 0.5) * (1.0 - vUv.y);\n \n // Add wave highlights.\n float highlight = smoothstep(0.2, 0.4, noise + wake) *\n (1.0 - smoothstep(0.4, 0.6, noise + wake));\n finalColor += highlight * foamColor * 0.5;\n \n // --- Rainbow Effect ---\n // When rainbowActive is enabled, overlay a dynamic rainbow gradient.\n if (rainbowActive > 0.5) {\n // Cycle the hue based on the horizontal UV and time.\n float rainbowHue = mod(vUv.x + time * 0.5, 1.0);\n vec3 rainbowColor = hsl2rgb(vec3(rainbowHue, 1.0, 0.5));\n // Blend the rainbow with the original finalColor.\n finalColor = mix(finalColor, rainbowColor, 0.7);\n }\n \n gl_FragColor = vec4(finalColor, alpha);\n }\n ");(0,u.e)({TrailShaderMaterial:m});let g=e=>{let{color:n="#787878",waterColor:t="#0066ff",foamColor:a="#ffffff",speed:i=1,scale:l=3,opacity:s=.5}=e,c=(0,r.useRef)(),{getSignalKValue:d}=(0,f.yC)();return(0,u.F)((e,n)=>{if(c.current){c.current.uniforms.time.value+=n;let e=d("steering.autopilot.state")||!1;c.current.uniforms.rainbowActive.value=e?1:0}}),(0,o.jsxs)("mesh",{rotation:[-Math.PI/2,0,Math.PI/2],position:[0,0,22.5],children:[(0,o.jsx)("planeGeometry",{args:[40,2.2,128,32]}),(0,o.jsx)("trailShaderMaterial",{ref:c,color:new h.Ilk(n),waterColor:new h.Ilk(t),foamColor:new h.Ilk(a),speed:i,scale:l,opacity:s,transparent:!0,depthWrite:!1,blending:h.WMw})]})};var v=t(4752);(0,u.e)({Water:v.B});var p=function(){let e=(0,r.useRef)(),n=(0,u.D)(e=>e.gl),t=(0,u.D)(e=>e.scene),a=(0,u.H)(h.dpR,"assets/waternormals.jpg");(0,r.useMemo)(()=>{a.wrapS=a.wrapT=h.rpg},[a]);let i=(0,r.useMemo)(()=>new h._12(1e4,1e4),[]),l=(0,r.useMemo)(()=>({textureWidth:600,textureHeight:450,waterNormals:a,sunDirection:new h.Pa4(0,1,0),sunColor:16777215,waterColor:30654,distortionScale:5,format:n.encoding,reflectivity:0}),[a,n.encoding]);(0,r.useMemo)(()=>{t.environment=null,t.background=null},[t]);let s=0;return(0,u.F)((n,t)=>{(s+=t)>.05&&(e.current&&(e.current.material.uniforms.time.value+=s),s=0)}),(0,o.jsx)("water",{ref:e,args:[i,l],"rotation-x":-Math.PI/2,position:[0,-.1,0]})},x=t(4578),w=t(3321);let M=(0,r.createContext)(),y=()=>(0,r.useContext)(M),b=(e,n,t,o)=>{let r=t.split(".").reduce((e,n)=>null==e?void 0:e[n],o);void 0!==r&&(e[n]=r)},j=e=>{let{children:n}=e,[t,a]=(0,r.useState)({}),[i,l]=(0,r.useState)([]),s=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=async e=>{console.log("Fetching static vessel information...");try{let n=await e.API().then(e=>e.vessels()),t=Object.entries(n).map(e=>{let[n,t]=e,o={mmsi:n};return b(o,"name","name",t),b(o,"latitude","navigation.position.value.latitude",t),b(o,"longitude","navigation.position.value.longitude",t),b(o,"cog","navigation.courseOverGroundTrue.value",t),b(o,"heading","navigation.headingTrue.value",t),b(o,"length","design.length.value.overall",t),b(o,"beam","design.beam.value",t),b(o,"callsign","communication.callsignVhf",t),b(o,"shipType","design.aisShipType.value.id",t),o});console.log("Fetched ".concat(t.length," vessels.")),l(t)}catch(e){console.error("Error fetching static vessel info:",e)}},n=e=>{if(!(null==e?void 0:e.updates)){console.warn("Delta is missing or does not contain updates:",e);return}let n=e=>({mmsi:e,name:"unknown",latitude:null,longitude:null,sog:null,cog:null,heading:null}),t=e.context.replace("vessels.","");if(!t){console.warn("Update missing MMSI context:",e);return}a(o=>{let r=o[t]||n(t);return e.updates.forEach(e=>{e.values.forEach(e=>{switch(e.path){case"name":r.name=e.value;break;case"navigation.position":r.latitude=e.value.latitude,r.longitude=e.value.longitude;break;case"navigation.speedOverGround":r.sog=e.value;break;case"navigation.courseOverGroundTrue":r.cog=e.value;break;case"navigation.headingTrue":r.heading=e.value}})}),{...o,[t]:r}})};return(async()=>{try{let{signalkUrl:t}=w.Z.getAll();if(console.log("SignalK URL:",t),!t)throw Error("SignalK URL is undefined or invalid.");let[o,r]=t.replace(/https?:\/\//,"").split(":");console.log("Connecting to SignalK at hostname: ".concat(o,", port: ").concat(r));let a=new x.default({hostname:o||"localhost",port:parseInt(r)||3e3,useTLS:t.startsWith("https"),reconnect:!0,autoConnect:!1,notifications:!1,subscriptions:[{context:"vessels.*",subscribe:[{path:"navigation.position"},{path:"navigation.speedOverGround"},{path:"navigation.courseOverGroundTrue"},{path:"navigation.headingTrue"}]}]});s.current=a,await a.connect(),console.log("SignalK client connected."),await e(a),a.on("delta",n)}catch(e){console.error("Error connecting to SignalK:",e)}})(),()=>{var e;console.log("Disconnecting SignalK client..."),null===(e=s.current)||void 0===e||e.disconnect()}},[]),(0,o.jsx)(M.Provider,{value:{aisData:t,vesselIds:i},children:n})};var C=t(5476);let P=async e=>{try{let n=await t(9927)("./".concat(e,"/Scene.jsx"));return n.default?n.default:n.Model}catch(n){throw console.error("Error loading ".concat(e," component:"),n),n}},R=e=>0===e?"windsurf":30===e?"optimist":36===e?"sailboat":"ship",S=(0,r.forwardRef)((e,n)=>{let{position:t,visible:a,boatData:i}=e,[l,s]=(0,r.useState)(null),c=R(i.shipType);if((0,r.useEffect)(()=>{let e=!0;return P(c).then(n=>{e&&s(()=>n)}).catch(e=>console.error("Failed to load ".concat(c,":"),e)),()=>{e=!1}},[c]),!l)return null;let u=(e,n)=>"".concat(e,": ").concat(n||"N/A","\n"),d=[u("Name",i.name||"Unknown"),u("Length",i.length?"".concat(i.length,"m"):"N/A"),u("Type",i.shipType)].join(""),h=(i.length||10)/10;return(0,o.jsxs)("group",{ref:n,position:t,visible:a,children:[(0,o.jsx)(l,{scale:[h,h,h]}),(0,o.jsx)(C.x,{position:[3,9,0],fontSize:.5,maxWidth:3,lineHeight:1,textAlign:"left",color:"white",anchorX:"center",anchorY:"top",font:"fonts/Roboto-Bold.ttf",children:d})]})});S.displayName="AISBoat";let I=e=>{if(e.material)return e;for(let n of e.children){let e=I(n);if(e)return e}return null},E=(e,n,t,o)=>({x:Math.PI/180*(n-o)*6371e3*Math.cos(Math.PI/180*t),y:Math.PI/180*(e-t)*6371e3}),T=(e,n)=>{if(null!=e.sog&&null!=e.cog){let t=.51444*e.sog;return{deltaX:t*n*Math.sin(e.cog*Math.PI/180)*.7,deltaY:t*n*Math.cos(e.cog*Math.PI/180)*.7}}return{deltaX:0,deltaY:0}},_=function(e,n,t){let o=!(arguments.length>3)||void 0===arguments[3]||arguments[3],r=-(.7*n),a=.7*t;o?(e.position.x+=(r-e.position.x)*.1,e.position.z+=(a-e.position.z)*.1):e.position.set(r,0,a)},O=function(e,n){let t=!(arguments.length>2)||void 0===arguments[2]||arguments[2],o=n*Math.PI/180;t?e.children[0].rotation.y+=(o-e.children[0].rotation.y)*.1:e.children[0].rotation.y=o};var k=()=>{let{aisData:e,vesselIds:n}=y(),t=(0,r.useRef)({}),{getSignalKValue:a}=(0,f.yC)();(0,u.F)(()=>{let o=a("navigation.position"),r=a("navigation.speedOverGround");if(!(null==o?void 0:o.latitude)||!(null==o?void 0:o.longitude)||!Object.keys(t.current).length)return;let i=performance.now(),l=n.length&&!Object.keys(e).length;Object.values(l?n:e).forEach(e=>{if(null==e.latitude||null==e.longitude||!t.current[e.mmsi])return;let n=t.current[e.mmsi],a=e.lastUpdate||i,{x:s,y:c}=E(e.latitude,e.longitude,o.latitude,o.longitude),u=0,d=0;!l&&null!=r&&r>0&&i-a>1e3&&({deltaX:u,deltaY:d}=T(e,(i-a)/1e3));let h=s+u,f=c+d,m=Math.sqrt((.7*h)**2+(.7*f)**2);if(m>0&&m<=2100){n.visible=!0,n.currentColor||(n.currentColor=m<350?"red":"white");let t=n.currentColor;"red"===n.currentColor&&m>385?t="white":"white"===n.currentColor&&m<350&&(t="red"),_(n,h,f,!l),null!=e.cog?O(n,e.cog,!l):null!=e.heading&&O(n,e.heading,!l);let o=I(n.children[0]);o?(n.redMaterial||(n.redMaterial=o.material.clone(),n.redMaterial.color.set("red")),n.whiteMaterial||(n.whiteMaterial=o.material.clone(),n.whiteMaterial.color.set("white")),"red"===t&&"red"!==n.currentMaterial?(o.material=n.redMaterial,n.currentMaterial="red",console.log("Swapped material to red for boat ".concat(e.mmsi))):"white"===t&&"white"!==n.currentMaterial&&(o.material=n.whiteMaterial,n.currentMaterial="white",console.log("Swapped material to white for boat ".concat(e.mmsi))),n.currentColor=t):console.warn("Material not found for boat ".concat(e.mmsi))}else n.visible=!1})});let i=(0,r.useMemo)(()=>n.filter(e=>e.mmsi&&!e.mmsi.startsWith("urn:mrn:signalk:uuid:")&&!e.mmsi.startsWith("227925790")&&!e.mmsi.startsWith("urn:mrn:imo:mmsi:230035780")).map(e=>(0,o.jsx)(S,{ref:n=>t.current[e.mmsi]=n,position:[0,0,0],visible:!1,boatData:e},e.mmsi)),[n]);return(0,o.jsx)(o.Fragment,{children:i})},N=t(1);let A=r.memo(e=>{let{radius:n,isOuter:t,markerColorPrimary:a,markerColorGreen:i,markerColorRed:l}=e,s=(0,r.useMemo)(()=>{let e=[];for(let r=0;r<360;r+=10){let s=h.M8C.degToRad(r-90),c=r%30==0,u=t?c?.4:.2:c?.3:.15,d=(n+.5*u+.2)*Math.cos(s),f=(n+.5*u+.2)*Math.sin(s),m=t&&r>0&&r<61,g=t&&r>=300&&r<360,v=m?i:g?l:a;if(!t&&c){let n=0===r?"N":r.toString();e.push((0,o.jsx)(C.x,{characters:"N0123456789",position:[d,.01,f],color:a,fontSize:.5,rotation:[-Math.PI/2,0,Math.PI/2-s],font:"fonts/Roboto-Bold.ttf",anchorY:"middle",children:n},"text-".concat(r)))}else e.push((0,o.jsx)(N.aL,{args:[u/2,16,16],position:[d,0,f],children:(0,o.jsx)("meshBasicMaterial",{color:v})},"marker-".concat(t?"outer":"inner","-").concat(r)))}return e},[n,t,a,i,l]);return(0,o.jsx)(o.Fragment,{children:s})});A.displayName="StaticMarkers";let F=r.memo(e=>{let{innerRadius:n,outerRadius:t,dialColor:r,opacity:a=1,transparent:i=!1}=e;return(0,o.jsx)(N.FM,{args:[n,t,64],rotation:[Math.PI/2,0,0],children:(0,o.jsx)("meshBasicMaterial",{color:r,side:h.ehD,transparent:i,opacity:a})})});F.displayName="StaticRing";let G=e=>{let{outerRadius:n,innerRadius:t}=e,a=f.FV,i=f.HH,{nightMode:l,getSignalKValue:s}=(0,f.yC)(),c=l?f.eF:16777215,u=s("navigation.courseOverGroundTrue")||s("navigation.headingTrue"),d=(0,r.useMemo)(()=>({innerRadius:t,outerRadius:n,dialColor:c,markerColorPrimary:0,markerColorGreen:a,markerColorRed:i}),[t,n,c,0,a,i]);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("group",{rotation:[0,Math.PI-u,0],children:[(0,o.jsx)(F,{innerRadius:d.innerRadius,outerRadius:d.outerRadius,dialColor:d.dialColor}),(0,o.jsx)(A,{radius:d.innerRadius,isOuter:!1,markerColorPrimary:d.markerColorPrimary,markerColorGreen:d.markerColorGreen,markerColorRed:d.markerColorRed})]}),(0,o.jsxs)("group",{children:[(0,o.jsx)(F,{innerRadius:d.innerRadius+1,outerRadius:d.outerRadius+1,dialColor:d.dialColor,transparent:!0,opacity:.5}),(0,o.jsx)(A,{radius:d.innerRadius+1,isOuter:!0,markerColorPrimary:d.markerColorPrimary,markerColorGreen:d.markerColorGreen,markerColorRed:d.markerColorRed})]})]})};G.displayName="CompassDial";var U=t(5723),D=()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(G,{outerRadius:5.6,innerRadius:5}),(0,o.jsx)(U.Z,{outerRadius:5.6+1.1})]}),L=t(8181),z=JSON.parse('{"N":{"52":[4.98,5.86,6.31,6.45,6.51,6.52,6.41],"60":[5.25,6.11,6.56,6.73,6.79,6.82,6.79],"75":[5.45,6.33,6.77,7.01,7.13,7.2,7.24],"90":[5.66,6.55,7,7.25,7.38,7.53,7.7],"110":[5.49,6.49,7.04,7.4,7.69,7.97,8.38],"120":[5.32,6.36,6.97,7.39,7.77,8.1,8.6],"135":[4.81,5.92,6.68,7.15,7.55,7.95,8.85],"150":[4.09,5.17,6.04,6.61,6.99,7.31,7.93],"angles":[52,60,75,90,110,120,135,150],"speeds":[6,8,10,12,14,16,20],"beat_angle":[43.6,42,41.2,41.2,41.7,42.1,44.2],"beat_vmg":[3.26,3.91,4.24,4.34,4.36,4.34,4.16],"run_angle":[144.8,147.8,148.5,149.6,171.8,175.4,177.2],"run_vmg":[3.54,4.48,5.23,5.73,6.17,6.67,7.36]}}');let H={DEG2RAD:Math.PI/180,ROTATION_INTERPOLATION_FACTOR:.05,SOG_SMOOTHING_FACTOR:.1,DEFAULT_SOG:3,ANGLE_INCREMENT:10,SPHERE_SIZE:.4,SPHERE_SEGMENTS:32,DEFAULT_LINE_WIDTH:1,PLOTS_COUNT:5,FRAME_TO_MINUTE_RATIO:3600},W=(e,n)=>26.8224*e*n*.1,q=(e,n,t)=>{if(!e||!n)return new h.Pa4(0,0,0);let o=e*H.DEG2RAD,r=W(n,t);return new h.Pa4(r*Math.sin(o),0,-r*Math.cos(o))},B=(e,n)=>{if(!(null==e?void 0:e.length))return 0;let t=0,o=e.length-1;for(;t<o;){let r=Math.floor((t+o)/2);e[r]<n?t=r+1:o=r}return t},K=e=>{let{position:n,color:t}=e;return n?(0,o.jsxs)("mesh",{position:n,children:[(0,o.jsx)("sphereGeometry",{args:[H.SPHERE_SIZE,H.SPHERE_SEGMENTS,H.SPHERE_SEGMENTS]}),(0,o.jsx)("meshStandardMaterial",{color:t})]}):null},Z=e=>{let{points:n,color:t}=e;return(null==n?void 0:n.length)?(0,o.jsx)(L.x,{points:n,color:t,lineWidth:H.DEFAULT_LINE_WIDTH}):null},V=r.memo(e=>{let{timeInMinute:n,windSpeed:t}=e,a=(0,r.useRef)(z.N),i=(0,r.useCallback)((e,n,t,o)=>(null==e?void 0:e.length)&&(null==n?void 0:n.length)&&!(e.length<=t)&&!(n.length<=t)?q(e[t],n[t],o):(console.warn("Invalid angle or VMG data"),null),[]),l=(0,r.useCallback)((e,n)=>{let{speeds:t,angles:o,beat_angle:r,beat_vmg:i,run_angle:l,run_vmg:s}=a.current;if(!(null==t?void 0:t.length)||!(null==o?void 0:o.length))return console.warn("Invalid polar data"),null;let c=(e,n,t)=>e+t*(n-e),u=[],d=(e,t,o)=>{for(let r=e;r<=t;r+=H.ANGLE_INCREMENT)u.push(q(r,o(r),n))};return d(0,r[e],n=>c(0,i[e],n/r[e])),o.forEach(t=>{if(t>r[e]&&t<l[e]){var o;let r=(null===(o=a.current[Math.floor(t)])||void 0===o?void 0:o[e])||0;u.push(q(t,r,n))}}),d(l[e],180,()=>s[e]),new h.YT8(u,!0)},[]),s=(0,r.useMemo)(()=>{var e;let o=a.current;if(!(null==o?void 0:null===(e=o.speeds)||void 0===e?void 0:e.length))return console.warn("Invalid polar data structure"),{curve:null,beat:null,run:null};let r=B(o.speeds,t);return{curve:l(r,n),beat:i(o.beat_angle,o.beat_vmg,r,n),run:i(o.run_angle,o.run_vmg,r,n)}},[n,t,i,l]);return(0,o.jsx)(o.Fragment,{children:[0,-Math.PI].map((e,n)=>(0,o.jsxs)("group",{position:[0,-.7,0],rotation:[0,0,e],children:[s.curve&&(0,o.jsx)(Z,{points:s.curve.getPoints(100),color:f.gK}),(0,o.jsx)(K,{position:s.beat,color:f.FV}),(0,o.jsx)(K,{position:s.run,color:f.HH})]},n))})});V.displayName="PolarPlot";var Y=function(){let e=(0,r.useRef)([]),[n,t]=(0,r.useState)([]),a=(0,r.useRef)(0),i=(0,r.useRef)([]),l=(0,r.useRef)(H.DEFAULT_SOG),{getSignalKValue:s}=(0,f.yC)(),c=-s("environment.wind.angleApparent"),d=(0,f.HQ)(s("environment.wind.speedOverGround"))||0,m=s("navigation.speedOverGround")||H.DEFAULT_SOG;return(0,r.useEffect)(()=>{let n=Array.from({length:H.PLOTS_COUNT},(e,n)=>({id:n,timeInMinute:5*(n+1)}));t(n),e.current=n.map(()=>new h.ZAu),i.current=Array(H.PLOTS_COUNT).fill(0)},[]),(0,u.F)((t,o)=>{a.current+=1,l.current=h.M8C.lerp(l.current,m,H.SOG_SMOOTHING_FACTOR),n.forEach((n,t)=>{let o=e.current[t];if(o&&n.timeInMinute-a.current/H.FRAME_TO_MINUTE_RATIO>0){let e=i.current[t],n=h.M8C.lerp(e,c,H.ROTATION_INTERPOLATION_FACTOR);o.rotation.set(0,n,0),i.current[t]=n}})}),(0,o.jsx)(o.Fragment,{children:n.map((n,t)=>(0,o.jsx)("group",{ref:n=>{n&&(e.current[t]=n)},children:(0,o.jsx)(V,{timeInMinute:n.timeInMinute,windSpeed:d})},n.id))})},Q=()=>{let{states:e,nightMode:n}=(0,f.yC)(),t=n?.2:.4;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("ambientLight",{intensity:n?.3:.5}),(0,o.jsx)("directionalLight",{position:[0,50,0],intensity:n?.8:1.4,castShadow:!0,"shadow-mapSize-width":1024,"shadow-mapSize-height":1024,"shadow-camera-near":.5,"shadow-camera-far":100,"shadow-camera-left":-20,"shadow-camera-right":20,"shadow-camera-top":20,"shadow-camera-bottom":-20,"shadow-bias":-.0001,color:n?"#c8e6ff":"#ffffff"}),(0,o.jsx)("directionalLight",{position:[0,40,5],intensity:t,castShadow:!1}),(0,o.jsx)("pointLight",{position:[0,30,0],intensity:1.5*t,distance:60,decay:2})]})},X=()=>{let{states:e}=(0,f.yC)(),n=(0,r.useRef)();return(0,o.jsxs)(r.Suspense,{fallback:(0,o.jsx)(a.V,{children:"Loading..."}),children:[(0,o.jsx)(i.c,{makeDefault:!0,fov:60,near:1,far:1e3,position:[0,5,20]}),(0,o.jsx)(l.z,{enableZoom:!0,enableRotate:!0,maxPolarAngle:Math.PI/2,minPolarAngle:Math.PI/4}),(0,o.jsx)(s.qA,{files:"./assets/ocearo_env.hdr",background:!1,intensity:.8}),(0,o.jsx)(Q,{}),(0,o.jsxs)("group",{position:[0,-3,0],children:[(0,o.jsx)(c.Z,{position:[0,0,.7],scale:[.7,.7,.7],ref:n,showSail:!0}),e.showOcean&&(0,o.jsx)(p,{}),(0,o.jsx)(g,{}),e.showPolar&&(0,o.jsx)(Y,{}),e.ais&&(0,o.jsx)(j,{children:(0,o.jsx)(k,{})}),(0,o.jsx)(D,{visible:!1})]})]})}},5723:function(e,n,t){"use strict";var o=t(7437),r=t(2265),a=t(718),i=t.n(a),l=t(3082),s=t(2079),c=t(5476);let u={TRUE_WIND:1,APP_WIND:1},d=e=>{let{position:n=[0,0,0],rotation:t=[0,0,0],speed:r,color:a="#ffffff",fontSize:i=.5,textPosition:l=[0,.8,0],arrowSize:u=1}=e;return(0,o.jsxs)("group",{position:n,rotation:t,children:[(0,o.jsx)(c.x,{characters:".0123456789",color:a,fontSize:i*u,position:l,font:"fonts/Roboto-Bold.ttf",children:r.toFixed(1)}),(0,o.jsxs)("mesh",{children:[(0,o.jsx)("shapeGeometry",{args:[new s.bnF([new s.FM8(0,0),new s.FM8(.5*u*Math.cos(5*Math.PI/6),.5*u*Math.sin(5*Math.PI/6)),new s.FM8(0,-.577*u),new s.FM8(-.5*u*Math.cos(5*Math.PI/6),.5*u*Math.sin(5*Math.PI/6)),new s.FM8(0,0)])]}),(0,o.jsx)("meshStandardMaterial",{color:a,side:s.ehD})]})]})};d.propTypes={position:i().instanceOf(s.Pa4).isRequired,rotation:i().arrayOf(i().number).isRequired,speed:i().number.isRequired,color:i().string.isRequired,fontSize:i().number.isRequired,textPosition:i().arrayOf(i().number).isRequired};let h=e=>{let{outerRadius:n}=e,{getSignalKValue:t}=(0,l.yC)(),a=Math.PI/2-t("environment.wind.angleTrueGround")||0,i=(0,l.HQ)(t("environment.wind.speedOverGround"))||0,c=Math.PI/2-t("environment.wind.angleApparent")||0,h=(0,l.HQ)(t("environment.wind.speedApparent"))||0,f=(0,r.useMemo)(()=>new s.Pa4((n+.7)*Math.cos(a),0,-(n+.7)*Math.sin(a)),[n,a]),m=(0,r.useMemo)(()=>new s.Pa4((n+.7)*Math.cos(c),0,-(n+.7)*Math.sin(c)),[n,c]);return(0,o.jsxs)("group",{children:[i>0&&(0,o.jsx)(d,{position:f,rotation:[-Math.PI/2,0,-(Math.PI/2-a)],speed:i,color:"blue",fontSize:u.TRUE_WIND}),h>0&&(0,o.jsx)(d,{position:m,rotation:[-Math.PI/2,0,-(Math.PI/2-c)],speed:h,color:l.gK,fontSize:u.APP_WIND})]})};h.propTypes={outerRadius:i().number.isRequired},n.Z=h}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[909],{1909:function(e,t,a){a.d(t,{Z:function(){return v}});var o=a(7437),r=a(2265),i=a(8124),s=a(3082),l=a(3321),n=a(1106),m=a(2079);function h(e,t,a){return e/1.9438444924574*Math.pow(t/10,a)*1.9438444924574}var c=a(3359),g=a(1378),u=a(262),p=new WeakMap,y=new WeakMap;class f{calcShape(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;(0,u._)(this,y,[]);let t=this.chordTackLevel/((0,c._)(this,p)[(0,c._)(this,p).length-1].x-(0,c._)(this,p)[0].x);for(let a of(0,c._)(this,p)){let o=a.clone().multiplyScalar(t);1!==e&&(o.y*=e),(0,c._)(this,y).push(o)}let a=new m.FM8(0,0);for(let e of(0,c._)(this,y))e.y>a.y&&(a=e);this.draftDepth=a.y,this.draftPosition=a.x,this.girth=0;let o=null;for(let e of(0,c._)(this,y))null!==o&&(this.girth+=e.distanceTo(o)),o=e;this.sag=this.chordTackLevel-this.girth,this.entryAngleRad=(0,c._)(this,y)[1].clone().sub((0,c._)(this,y)[0]).angle(),this.exitAngleRad=(0,c._)(this,y)[(0,c._)(this,y).length-1].clone().sub((0,c._)(this,y)[(0,c._)(this,y).length-2]).angle()-2*Math.PI,this.mastAngleRad=this.calcMastAngle(),this.forceAngleRad=(this.entryAngleRad+this.exitAngleRad)/2,this.draftDepthRatio=this.draftDepth/this.chordTackLevel,this.draftPositionRatio=this.draftPosition/this.chordTackLevel}calcMastAngle(){let e=0,t=null,a=this.mastWidth*this.chordTackLevel/this.chordMastTop;for(let o of(0,c._)(this,y)){if(null!==t&&(e+=o.distanceTo(t))>=a)return o.angle();t=o}return NaN}getVerticesAngles(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=(this.girth-t)/(e-1),r=0,i=0,s=[],l=null;for(let n of(0,c._)(this,y)){if(null!==l&&(((i+=n.distanceTo(l))>=r*o+t||a&&i>a)&&(r++,s.push(n.angle())),r>=e))break;l=n}return s}pointAtGirthDistance(e){let t=0,a=null;for(let o of(0,c._)(this,y))if(null!==a&&(t+=o.distanceTo(a)),a=o,t>=e)return a.clone()}constructor(e,t,a,o=1){(0,g._)(this,p,{writable:!0,value:void 0}),(0,g._)(this,y,{writable:!0,value:void 0}),(0,u._)(this,p,[]),(0,u._)(this,y,[]),this.chordMastTop=t,this.chordTackLevel=e,this.mastWidth=a;let r=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return new m.FM8(t*e**2,2*t*e)},i=1.001+.95*(o-1)/10,s=(i-.001)/1e3,l=r(.001),n=r(i).clone().sub(l).angle(),h=new m.FM8(0,0);for(let e=.001;e<=i;e+=s){let t=r(e);t.sub(l),t.rotateAround(h,-n),(0,c._)(this,p).push(t)}this.calcShape(1-.25*(o-1)/10)}}let _=Math.floor(20),d=Math.ceil(160),M={waterlineToMastFootHeight:.45,maxMastRotation:Math.PI/2,maxChordRotationPerSailLevel:Math.PI/3*2};var b=e=>{let{windParams:t={speed:5,hellman:.27},boatParams:a={mastrotation:0,heading:130,speed:5},sailParams:i={mastArea:0,sailArea:0,cunningham:1,angleOfAttack:20}}=e,{getSignalKValue:l}=(0,s.yC)(),n=(0,r.useRef)(),c=(0,r.useRef)(null),g=(0,r.useRef)(0),u=(0,r.useRef)(null),p=(0,r.useRef)(null),y=(0,r.useRef)(),b=(0,r.useRef)({}),x=(0,r.useMemo)(()=>{let e=new m.ZAu,t=new m.b_z(.1,.2,12),a=new m.Wid({color:s.gK,opacity:.5,transparent:!0}),o=new m.Kj0(t,a);return o.position.set(0,-.1,0),e.add(o),e},[]);(0,r.useEffect)(()=>{let e=new m.ZAu,t={};for(let a=0;a<8;a+=.5){let o=x.clone();o.position.set(0,a,0),t[2*a]=o,e.add(o)}return e.position.set(0,0,0),y.current&&y.current.add(e),b.current=t,()=>{e.clear()}},[x]);let P=(e,t)=>{let a=b.current;if(!a){console.error("apparentWindField is not initialized.");return}for(let o=0;o<8;o+=.5){let r=h(e,o,t),i=a[2*o];if(!i){console.warn("Apparent wind field cone at height ".concat(o," is not defined."));continue}i.scale.set(.1*r,r,.1*r),i.rotation.set(0,-Math.PI,Math.PI/2)}},{geometry:j,sailClipWidthPerLevel:I}=(0,r.useMemo)(()=>{let e=new m.u9r,t=[],a=[],o=[];for(let e=0;e<=d;e++){let r,i;let s=Math.min(50*e,8e3);s<900?(r=3600,i=3800+-200*s/900):i=r=3600-3210*(s-900)/7100+600*Math.sin((s-900)/7100*Math.PI);let l=0;for(let o=0;o<_;o++){let n=r/(_-1),m=n*o-i,h=n;m>.1&&(h=m>n?0:n-m),t.push(0===o?0:(l+h)/1e3,s/1e3,0),l=0===o?0:l+h;let c=Math.floor(d/10);a.push(...e%c==0?[.8,0,.047]:[.596,.596,.596])}o.push(i===r?null:i)}let r=[];for(let e=0;e<d;e++)for(let t=1;t<_;t++){let a=e*_+t;r.push(a-1,a,a+_-1,a,a+_,a+_-1)}return e.setAttribute("position",new m.a$l(t,3)),e.setAttribute("color",new m.a$l(a,3)),e.setIndex(r),e.computeVertexNormals(),{geometry:e,sailClipWidthPerLevel:o}},[]),v=(0,r.useMemo)(()=>l("environment.wind.angleApparent")||0,[l]),w=(0,r.useMemo)(()=>l("environment.wind.speedApparent")||0,[l]);return(0,r.useEffect)(()=>{if(!n.current)return;P(w,t.hellman);let e=v>Math.PI&&v<=2*Math.PI,o=n.current.geometry,r=o.attributes.position.array;i.cunningham!==u.current&&(p.current=new f(3600,390,200,i.cunningham),u.current=i.cunningham),c.current||(c.current=o.clone());let s=1e3*M.waterlineToMastFootHeight,l=e?-1:1,y=m.M8C.degToRad(i.angleOfAttack),b=Math.abs(v),x=p.current.mastAngleRad;b<.01&&(y=0);let j=Math.min(b-y+x,M.maxMastRotation),A=new m.Pa4(0,1,0),R=null;for(let e=0;e<=d;e++){let a=Math.abs({awa:v,aws:h(w,(50*e+s)/1e3,t.hellman)}.awa)-y;a<0?a=0:a>Math.PI/2&&(a=Math.PI/2);let o=a-j;R&&o-R>M.maxChordRotationPerSailLevel&&(o=R+M.maxChordRotationPerSailLevel),R=o;let i=I[e],n=p.current.getVerticesAngles(_,200,i);for(let t=1;t<_;t++){let a=(e*_+t)*3,i=new m.Pa4(c.current.attributes.position.array[a],c.current.attributes.position.array[a+1],c.current.attributes.position.array[a+2]);i.applyAxisAngle(A,-(o+n[t])*l),r[a]=i.x,r[a+1]=i.y,r[a+2]=i.z}}o.attributes.position.needsUpdate=!0;let k={...a,mastrotation:j*l};n.current&&n.current.rotateY(g.current-k.mastrotation),g.current=k.mastrotation},[w,v,t.hellman,i.cunningham,i.angleOfAttack,a,I]),(0,o.jsxs)("mesh",{ref:n,position:[0,2,-1],rotation:[0,-Math.PI/2,0],children:[(0,o.jsx)("bufferGeometry",{...j}),(0,o.jsx)("group",{ref:y}),(0,o.jsx)("meshBasicMaterial",{vertexColors:!0,transparent:!0,opacity:.7,side:m.ehD})]})};let x=a(257).env.ASSET_PREFIX||"",P=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return"".concat(x,"/boats/").concat(e,"/assets/scene-transformed.glb")},j={name:"Default",modelPath:"default",capabilities:["navigation","rudder","sail","color"]},I=(0,r.forwardRef)((e,t)=>{let{showSail:a=!1,...h}=e,c=(0,r.useRef)(),g=(0,r.useRef)(),{getSignalKValue:u}=(0,s.yC)(),p=l.Z.getAll(),[y,f]=(0,r.useState)(()=>l.Z.getSelectedBoat()||j);(0,r.useEffect)(()=>{f(l.Z.getSelectedBoat()||j)},[p]);let _=(0,r.useMemo)(()=>P(y.modelPath),[y]),d=(null==y?void 0:y.capabilities)||[],{nodes:M,materials:I}=(0,n.L)(_,"".concat(x,"/draco/")),v=(0,r.useMemo)(()=>({primaryColor:p.primaryColor,metallicEffect:p.metallicEffect||!1}),[p.primaryColor,p.metallicEffect]);(0,r.useEffect)(()=>{(null==I?void 0:I.fiberglass)&&(I.fiberglass.color.set(v.primaryColor),I.fiberglass.metalness=v.metallicEffect?1:0,I.fiberglass.roughness=v.metallicEffect?.2:1,Object.values(I).forEach(e=>{e.map&&(e.map.minFilter=m.wem,e.map.magFilter=m.wem,e.map.anisotropy=1)}))},[I,v]);let w=(0,r.useMemo)(()=>new m.yGw,[]),A=(0,r.useMemo)(()=>new m.Pa4(1,0,0),[]);(0,i.F)(()=>{if(!c.current)return;let e=u("navigation.attitude.roll")||0,t=u("steering.rudderAngle")||0;c.current.rotation.z!==e&&(c.current.rotation.z=e),g.current&&(w.makeRotationFromEuler(new m.USm(-Math.PI/2,Math.PI/2,0)),g.current.setRotationFromMatrix(w),g.current.rotateOnAxis(A,-m.M8C.degToRad(180*t/Math.PI)))});let R=(0,r.useMemo)(()=>{let e={Default:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("mesh",{geometry:M.baba_metal_0.geometry,material:I.metal,position:[.24,.895,-5.546],rotation:[-Math.PI/2,0,1.968],scale:.027}),(0,o.jsx)("mesh",{geometry:M.camadadirek_fiberglass_0.geometry,material:I.fiberglass,position:[0,5.267,-3.711],rotation:[2.054,0,Math.PI],scale:[-.042,.042,4.707]}),(0,o.jsx)("mesh",{geometry:M.camadanyelkeni_bez_0.geometry,material:I.mcaterial,position:[0,5.267,-3.711],rotation:[2.054,0,Math.PI],scale:[-.042,.042,4.707]}),(0,o.jsx)("mesh",{geometry:M.camadaonbaglay_metal_0.geometry,material:I.metal,position:[0,.891,-5.958],rotation:[-Math.PI/2,0,0],scale:.02}),(0,o.jsx)("mesh",{geometry:M.capa_metal_0.geometry,material:I.metal,position:[0,.671,-6.173],rotation:[-Math.PI/2,0,0],scale:.348}),(0,o.jsx)("mesh",{geometry:M.direk_fiberglass_0.geometry,material:I.fiberglass,position:[0,4.315,-1.056],rotation:[Math.PI/2,0,Math.PI],scale:[-.113,.113,5.203]}),(0,o.jsx)("mesh",{geometry:M.duman_ahsap_0.geometry,material:I.ahsap,position:[-.011,.854,3.487],rotation:[Math.PI,0,Math.PI/2],scale:[.045,.045,.011]}),(0,o.jsx)("mesh",{geometry:M.dumenyuvasi_ahsap_0.geometry,material:I.ahsap,position:[-.011,.299,3.441],rotation:[-Math.PI/2,0,1.571],scale:.094}),(0,o.jsx)("mesh",{geometry:M.dumenyuvasi_cam_0.geometry,material:I.material_5,position:[-.011,.299,3.441],rotation:[-Math.PI/2,0,1.571],scale:.094}),(0,o.jsx)("mesh",{geometry:M.dumenyuvasi_fiberglass_0.geometry,material:I.fiberglass,position:[-.011,.299,3.441],rotation:[-Math.PI/2,0,1.571],scale:.094}),(0,o.jsx)("mesh",{geometry:M.govde_fiberglass2_0.geometry,material:I.fiberglass2,position:[0,.32,-.897],rotation:[0,Math.PI/2,0],scale:[5.11,.454,1.212]}),(0,o.jsx)("mesh",{geometry:M.govde_fiberglass_0.geometry,material:I.fiberglass,position:[0,.32,-.897],rotation:[0,Math.PI/2,0],scale:[5.11,.454,1.212]}),(0,o.jsx)("mesh",{geometry:M.govde_metal_0.geometry,material:I.metal,position:[0,.32,-.897],rotation:[0,Math.PI/2,0],scale:[5.11,.454,1.212]}),(0,o.jsx)("mesh",{geometry:M.halattutucu_fiberglass2_0.geometry,material:I.fiberglass2,position:[-1.044,.939,1.809],rotation:[-Math.PI/2,0,0],scale:[.016,.059,.016]}),(0,o.jsx)("mesh",{geometry:M.ip001_metal_0.geometry,material:I.metal,position:[-.231,7.608,-.621],rotation:[-2.322,.222,-1.556],scale:[.007,.007,.011]}),(0,o.jsx)("mesh",{geometry:M.pervan_fiberglass_0.geometry,material:I.fiberglass,position:[0,-1.005,1.561],rotation:[-Math.PI/2,Math.PI/2,0],scale:[.154,.094,.104]}),(0,o.jsx)("mesh",{geometry:M.pervane_metal_0.geometry,material:I.metal,position:[0,-1.122,1.75],scale:.034}),(0,o.jsx)("mesh",{ref:g,geometry:M.rudder_fiberglass_0.geometry,material:I.fiberglass,position:[0,-1.153,3.486],rotation:[-Math.PI/2,Math.PI/2,0],scale:[.573,.262,.262]}),(0,o.jsx)("mesh",{geometry:M.salma_fiberglass_0.geometry,material:I.fiberglass,position:[0,-1.953,-.739],scale:[.149,.108,.756]}),(0,o.jsx)("mesh",{geometry:M.ustcam_cam_0.geometry,material:I.material_5,position:[-.337,.974,-3.127],rotation:[-Math.PI/2,0,0],scale:[-.183,.133,.025]}),(0,o.jsx)("mesh",{geometry:M.ustcam_fiberglass_0.geometry,material:I.fiberglass,position:[-.337,.974,-3.127],rotation:[-Math.PI/2,0,0],scale:[-.183,.133,.025]}),(0,o.jsx)("mesh",{geometry:M.ustgovde_fiberglass_0.geometry,material:I.fiberglass,position:[0,.832,-2.741],rotation:[-Math.PI/2,0,0],scale:[.566,.7,1.212]}),(0,o.jsx)("mesh",{geometry:M.ustgovdekzak_ahsap_0.geometry,material:I.ahsap,position:[0,.862,-2.741],rotation:[-Math.PI/2,0,0],scale:[.566,.7,1.212]}),(0,o.jsx)("mesh",{geometry:M.vinc_metal_0.geometry,material:I.metal,position:[-1.07,.977,2.02],rotation:[-Math.PI/2,0,0],scale:.065}),(0,o.jsx)("mesh",{geometry:M.yancam002_cam_0.geometry,material:I.material_5,position:[-.984,.591,-3.772],rotation:[Math.PI,-1.241,-Math.PI/2],scale:[.095,.28,.014]}),(0,o.jsx)("mesh",{geometry:M.yancam002_fiberglass_0.geometry,material:I.fiberglass,position:[-.984,.591,-3.772],rotation:[Math.PI,-1.241,-Math.PI/2],scale:[.095,.28,.014]}),(0,o.jsx)("mesh",{geometry:M.yankoruma_metal_0.geometry,material:I.metal,position:[-1.641,.946,2.868],rotation:[-Math.PI/2,0,0],scale:[.01,.01,.159]}),(0,o.jsx)("mesh",{geometry:M.yankoruma_metal_0001.geometry,material:I.metal,position:[-1.641,.946,2.868],rotation:[-Math.PI/2,0,0],scale:[.01,.01,.159]}),(0,o.jsx)("mesh",{geometry:M.yankoruma_metal_0002.geometry,material:I.metal,position:[-1.641,.946,2.868],rotation:[-Math.PI/2,0,0],scale:[.01,.01,.159]}),(0,o.jsx)("mesh",{geometry:M.zincir_metal_0.geometry,material:I.metal,position:[-.001,.88,-6.258],rotation:[-1.56,-.031,-.149],scale:.004}),(0,o.jsx)("mesh",{geometry:M.zincir_metal_0001.geometry,material:I.metal,position:[-.001,.88,-6.258],rotation:[-1.56,-.031,-.149],scale:.004}),(0,o.jsx)("mesh",{geometry:M.zincirdeposu_fiberglass2_0.geometry,material:I.fiberglass2,position:[0,.863,-5.779],rotation:[-Math.PI/2,0,0],scale:[.103,.088,.009]}),(0,o.jsx)("mesh",{geometry:M.zincirmakara_metal_0.geometry,material:I.metal,position:[0,.869,-6.305],rotation:[-2.159,1.564,.59],scale:[.01,.01,.016]}),(0,o.jsx)("mesh",{geometry:M.zincirray_ahsap_0.geometry,material:I.ahsap,position:[0,.864,-6.113],rotation:[-Math.PI/2,0,0],scale:[.017,.181,.003]})]}),Optimist:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("mesh",{geometry:M.body_body_0.geometry,material:I.body,position:[-.054,.272,-.022],rotation:[-1.571,.01,.01],scale:[1,5.242,1]}),(0,o.jsx)("mesh",{geometry:M.boom_aluminium_0.geometry,material:I.aluminium,position:[-.019,2.771,.964],rotation:[0,.01,-.01],scale:[.15,.15,4.609]}),(0,o.jsx)("mesh",{geometry:M.rubber_joint__0.geometry,material:I.rubber_joint__0,position:[-.008,1.407,3.453],rotation:[1.571,-.01,-.01],scale:[-.037,.056,.079]}),(0,o.jsx)("mesh",{geometry:M.sail_sail_0.geometry,material:I.sail,position:[.038,8.739,.698],rotation:[2.356,1.557,2.356],scale:[-5.728,4.361,4.361]})]}),Ship:()=>(0,o.jsx)("mesh",{geometry:M.Object_10.geometry,material:I.material_0,position:[0,-.55,0],rotation:[-1.558,.002,3.139],scale:.004}),Windsurf:()=>(0,o.jsx)("mesh",{geometry:M["body_Material_#30_0"].geometry,material:I.Material_30,position:[-.007,0,-.071],rotation:[-Math.PI/2,0,0],scale:.002}),Sailboat:()=>(0,o.jsx)("mesh",{geometry:M.sailboat.geometry,material:I.texture,position:[0,-1.5,0],rotation:[-Math.PI,.011,-Math.PI],scale:.219})};return e[y.name]||e.Default},[y.name,M,I]);return(0,o.jsxs)("group",{...h,ref:c,dispose:null,children:[d.includes("sail")&&a&&(0,o.jsx)(b,{}),(0,o.jsx)(R,{})]})});n.L.preload(P(),"".concat(x,"/draco/")),I.displayName="SailBoat3D";var v=I}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[936],{2936:function(l,e,n){n.r(e);var i=n(7437);n(2265);var a=n(1268),o=n(5217),c=n(9670);e.default=l=>{let{currentViewMode:e,toggleViewMode:n,handleSetRightView:s,toggleFullscreen:t,setShowAppMenu:r}=l,b=l=>{let{icon:e,label:n,onClick:o}=l;return(0,i.jsxs)("button",{onClick:()=>{o(),r(!1)},className:"flex items-center text-white p-2 rounded-md hover:bg-gray-700 transition",children:[(0,i.jsx)(a.G,{icon:e,className:"mr-2"})," ",n]})};return(0,i.jsx)("div",{className:"fixed bottom-20 left-1/2 transform -translate-x-1/2 bg-black p-6 rounded-lg shadow-lg z-50 w-200",children:(0,i.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[e!==c.VIEW_MODES.SPLIT&&(0,i.jsx)(b,{icon:o.TL5,label:"Split View",onClick:()=>n(c.VIEW_MODES.SPLIT)}),e!==c.VIEW_MODES.APP&&(0,i.jsx)(b,{icon:o.TL5,label:"Full View",onClick:()=>n(c.VIEW_MODES.APP)}),e!==c.VIEW_MODES.BOAT&&(0,i.jsx)(b,{icon:o.lnS,label:"Boat View",onClick:()=>n(c.VIEW_MODES.BOAT)}),(0,i.jsx)(b,{icon:o.iGi,label:"Manual",onClick:()=>s("manual")}),(0,i.jsx)(b,{icon:o.HLz,label:"Instruments",onClick:()=>s("instrument")}),(0,i.jsx)(b,{icon:o.IyC,label:"Webcam",onClick:()=>s("webcam1")}),(0,i.jsx)(b,{icon:o.tLL,label:"Navigation",onClick:()=>s("navigation")}),(0,i.jsx)(b,{icon:o.Kb6,label:"Settings",onClick:()=>s("settings")}),(0,i.jsx)(b,{icon:o.S9Y,label:"Weather",onClick:()=>s("weather")}),(0,i.jsx)(b,{icon:o.RoX,label:"Battery",onClick:()=>s("battery")}),(0,i.jsx)(b,{icon:o.ItS,label:"Media player",onClick:()=>s("mediaplayer")}),(0,i.jsx)(b,{icon:o.TL5,label:"Toggle Fullscreen",onClick:t}),(0,i.jsx)(b,{icon:o.d8e,label:"Refresh Page",onClick:()=>{window.location.reload()}})]})})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{7343:function(e,t,n){Promise.resolve().then(n.bind(n,9670))},3082:function(e,t,n){"use strict";n.d(t,{$:function(){return m},FV:function(){return u},G5:function(){return h},HH:function(){return d},HQ:function(){return f},NU:function(){return p},YH:function(){return w},eF:function(){return g},gK:function(){return c},yC:function(){return x}});var i=n(7437),a=n(2265),r=n(4578),o=n(3321),l=n(2079);let s=(0,a.createContext)(),c="#09bfff",d="#cc000c",u="#0fcd4f",g="#ef4444",h=e=>null!=e?Math.round((e-273.15)*10)/10:null,f=e=>null!=e?Math.round(19.4384*e)/10:null,m=f,p=e=>null!=e?Math.round(e/100*10)/10:null,v={autopilot:!0,anchorWatch:!1,parkingMode:!1,mob:!1,showOcean:!1,ais:!1,showPolar:!0},b={wind:{"environment.wind.angleTrueWater":l.M8C.degToRad(25),"environment.wind.speedTrue":20,"environment.wind.angleApparent":l.M8C.degToRad(23),"environment.wind.speedApparent":25},temperature:{"environment.water.temperature":290.15,"environment.outside.temperature":294.15,"propulsion.main.exhaustTemperature":368.15,"environment.inside.fridge.temperature":277.15},environment:{"environment.outside.pressure":102300,"environment.inside.relativeHumidity":.74,"environment.inside.voc":.03},performance:{"performance.beatAngle":l.M8C.degToRad(45),"performance.gybeAngle":l.M8C.degToRad(135),"performance.beatAngleVelocityMadeGood":6,"performance.gybeAngleVelocityMadeGood":5,"performance.targetAngle":l.M8C.degToRad(45),"performance.polarSpeed":8,"performance.polarSpeedRatio":.95,"performance.velocityMadeGood":5,"performance.polarVelocityMadeGood":6,"performance.polarVelocityMadeGoodRatio":.9},navigation:{"navigation.speedThroughWater":7,"navigation.headingTrue":l.M8C.degToRad(0),"navigation.courseOverGround":l.M8C.degToRad(20),"navigation.courseGreatCircle.nextPoint.bearingTrue":l.M8C.degToRad(30),"navigation.attitude.roll":l.M8C.degToRad(5)},racing:{"navigation.racing.layline":l.M8C.degToRad(10),"navigation.racing.layline.distance":100,"navigation.racing.layline.time":180,"navigation.racing.oppositeLayline":l.M8C.degToRad(45),"navigation.racing.oppositeLayline.distance":80,"navigation.racing.oppositeLayline.time":180,"navigation.racing.startLineStb":{latitude:0,longitude:0,altitude:0},"navigation.racing.startLinePort":{latitude:0,longitude:0,altitude:0},"navigation.racing.distanceStartline":50,"navigation.racing.timeToStart":120,"navigation.racing.timePortDown":60,"navigation.racing.timePortUp":70,"navigation.racing.timeStbdDown":65,"navigation.racing.timeStbdUp":75}},w=e=>{let{children:t}=e,[n,c]=(0,a.useState)({}),[d,u]=(0,a.useState)(!1),[g,h]=(0,a.useState)(v),f=(0,a.useRef)(null),m=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e=!0,t=async()=>{let e=new Date,t=e.getFullYear(),n=(e.getMonth()+1).toString().padStart(2,"0"),i="tides/larochelle/".concat(n,"_").concat(t,".json"),a=await fetch(i);if(a.ok){let t=await a.json(),n=e.toISOString().split("T")[0];if(t[n]){let e=null,i=null,a=new Date,r=60*a.getHours()+a.getMinutes();if(t[n].forEach(t=>{let[n,a,o,l]=t,[s,c]=a.split(":").map(Number),d=60*s+c;"tide.high"===n&&(!e||Math.abs(r-d)<Math.abs(r-e.timeInMinutes))?e={height:parseFloat(o),time:a,timeInMinutes:d,coef:l}:"tide.low"===n&&(!i||Math.abs(r-d)<Math.abs(r-i.timeInMinutes))&&(i={height:parseFloat(o),time:a,timeInMinutes:d})}),e&&i){let t="".concat(a.getHours().toString().padStart(2,"0"),":").concat(a.getMinutes().toString().padStart(2,"0")),n=S(e.height,i.height,t,e.time,i.time);c(t=>({...t,"environment.tide.heightNow":n,"environment.tide.heightHigh":e.height,"environment.tide.heightLow":i.height,"environment.tide.timeLow":i.time,"environment.tide.timeHigh":e.time,"environment.tide.coeffNow":e.coef}))}else throw Error("Tide data for today is incomplete.")}}else console.warn("No tide data found")};return(async()=>{let t=o.Z.getAll(),{signalkUrl:n,debugMode:i}=t;try{let[i,a]=n.replace(/https?:\/\//,"").split(":"),o=new r.default({hostname:i||"localhost",port:parseInt(a)||3e3,useTLS:n.startsWith("https"),reconnect:!0,autoConnect:!1,notifications:!1,deltaStreamBehaviour:"self",sendMeta:"all",wsKeepaliveInterval:10});f.current=o,await o.connect(),o.on("delta",t=>{e&&t.updates.forEach(e=>{e.values&&e.values.forEach(e=>{c(t=>({...t,[e.path]:e.value}))})})}),t.debugMode&&(m.current=setInterval(()=>{let e=Math.floor(91*Math.random())-45;c(t=>({...t,"steering.rudderAngle":l.M8C.degToRad(e),...b.wind,...b.temperature,...b.environment,...b.performance,...b.navigation,...b.racing}))},5e3))}catch(e){console.error("Failed to connect to SignalK:",e)}})(),t(),()=>{e=!1,f.current&&f.current.disconnect(),m.current&&clearInterval(m.current)}},[]),(0,i.jsx)(s.Provider,{value:{getSignalKValue:e=>n[e]||null,nightMode:d,setNightMode:u,states:g,toggleState:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;h(n=>({...n,[e]:void 0!==t?t:!n[e]}))}},children:t})},x=()=>(0,a.useContext)(s),S=function(e,t,n,i,a){let r,o,l,s;let c=e=>{let[t,n]=e.split(":").map(Number);return 60*t+n},d=c(i),u=c(a),g=c(n),h=!1;u<=g&&g<=d?(h=!0,r=t,o=e,l=u,s=d):(r=e,o=t,l=d,s=u+(u<d?1440:0));let f=Math.abs(s-l),m=Math.abs(o-r),p=g-l;p<0&&(p+=1440);let v=m/12,b=0;return b=p<=f/6?v*Math.ceil(p/(f/12)):p<=2*f/6?2*v+v*Math.ceil((p-f/6)/(f/12)):p<=3*f/6?5*v:p<=4*f/6?8*v:p<=5*f/6?10*v:m,h?r+b:r-b}},3321:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});var i=JSON.parse('{"F":[{"name":"Default","modelPath":"default","capabilities":["navigation","rudder","sail","color"]},{"name":"Optimist","modelPath":"optimist","capabilities":["navigation","ais"]},{"name":"Sailboat","modelPath":"sailboat","capabilities":["navigation","ais"]},{"name":"Ship","modelPath":"ship","capabilities":["navigation","ais"]},{"name":"Windsurf","modelPath":"windsurf","capabilities":["navigation","ais"]}]}');class a{isLocalStorageAvailable(){try{return"undefined"!=typeof localStorage}catch(e){return!1}}loadConfig(){if(this.isLocalStorageAvailable()){let e=localStorage.getItem(this.configKey);if(!e)return this.saveConfig(this.defaultConfig),{...this.defaultConfig};try{return JSON.parse(e)}catch(e){return console.error("Failed to parse stored configuration:",e),{...this.defaultConfig}}}return{...this.inMemoryConfig}}saveConfig(e){this.config={...this.config,...e},this.isLocalStorageAvailable()?localStorage.setItem(this.configKey,JSON.stringify(this.config)):this.inMemoryConfig={...this.config}}get(e){return this.config[e]}set(e,t){this.config[e]=t,this.saveConfig(this.config)}resetConfig(){this.config={...this.defaultConfig},this.isLocalStorageAvailable()?localStorage.setItem(this.configKey,JSON.stringify(this.config)):this.inMemoryConfig={...this.defaultConfig}}getAll(){return{...this.config}}getDefaultConfig(){return{...this.defaultConfig}}getSelectedBoat(){let e=this.config.selectedBoat;return e?this.getBoatsData().find(t=>t.name===e):[]}getBoatsData(){return i.F}getComputedSignalKUrl(){return this.config.debugMode?"https://demo.signalk.org:443":"".concat(window.location.protocol,"//").concat(window.location.hostname).concat(window.location.port?":"+window.location.port:"")}constructor(){this.defaultConfig={signalkUrl:"https://demo.signalk.org:443",username:"",password:"",debugMode:!1,selectedBoat:"Default",primaryColor:null,metallicEffect:!1},this.configKey="ocearoConfig",this.inMemoryConfig={...this.defaultConfig},this.config=this.loadConfig()}}var r=new a},9670:function(e,t,n){"use strict";n.r(t),n.d(t,{VIEW_MODES:function(){return f},default:function(){return p}});var i=n(7437),a=n(2265),r=n(166),o=n(376),l=n.n(o),s=n(3082);class c extends a.Component{static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){this.setState({error:e,errorInfo:t}),console.error("Error caught in Error Boundary:",e,t)}render(){if(this.state.hasError){let{error:e,errorInfo:t}=this.state;return(0,i.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-screen bg-gray-100 text-gray-900",children:[(0,i.jsx)("h1",{className:"text-3xl font-bold text-red-600 mb-4",children:"Something went wrong."}),(0,i.jsxs)("p",{className:"text-lg mb-2",children:[(0,i.jsx)("strong",{children:"Error:"})," ",e?e.toString():"Unknown error"]}),t&&(0,i.jsxs)("details",{className:"whitespace-pre-wrap bg-gray-200 p-4 rounded-lg mb-4",children:[(0,i.jsx)("summary",{className:"cursor-pointer text-blue-500 underline",children:"Stack Trace"}),(0,i.jsx)("pre",{className:"mt-2",children:t.componentStack})]}),(0,i.jsxs)("div",{className:"flex space-x-4",children:[(0,i.jsx)("button",{onClick:this.handleRefresh,className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600",children:"Refresh Page"}),(0,i.jsx)("button",{onClick:this.handleExitFullscreen,className:"px-4 py-2 bg-green-500 text-white rounded hover:bg-green-600",children:"Exit Fullscreen"})]})]})}return this.props.children}constructor(e){super(e),this.handleRefresh=()=>{window.location.reload()},this.handleExitFullscreen=()=>{document.fullscreenElement&&(window.close(),document.exitFullscreen().catch(e=>{console.error("Failed to exit fullscreen:",e)}))},this.state={hasError:!1,error:null,errorInfo:null}}}let d=(0,r.default)(()=>n.e(252).then(n.bind(n,7252)),{loadableGenerated:{webpack:()=>[7252]},loading:()=>(0,i.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:"Loading..."})}),u=(0,r.default)(()=>Promise.all([n.e(676),n.e(268),n.e(12)]).then(n.bind(n,2012)),{loadableGenerated:{webpack:()=>[2012]}}),g=(0,r.default)(()=>Promise.all([n.e(676),n.e(268),n.e(936)]).then(n.bind(n,2936)),{loadableGenerated:{webpack:()=>[2936]}}),h=(0,r.default)(()=>Promise.all([n.e(676),n.e(689),n.e(268),n.e(496),n.e(412)]).then(n.bind(n,6412)),{loadableGenerated:{webpack:()=>[6412]},loading:()=>(0,i.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,i.jsx)("div",{className:"text-white text-2xl",children:"Loading 3D View..."})}),ssr:!1}),f={BOAT:"boat",APP:"app",SPLIT:"split"},m=()=>window.innerWidth>=1366;function p(){let e=(0,a.useRef)(!1),[t,n]=(0,a.useState)(null),[r,o]=(0,a.useState)("navigation"),[p,v]=(0,a.useState)(!1),[b,w]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let t;n(m()?f.SPLIT:f.BOAT),e.current=!0;let i=()=>{clearTimeout(t),t=setTimeout(()=>{n(m()?f.SPLIT:f.BOAT)},250)};return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i),clearTimeout(t)}},[]);let x=(0,a.useCallback)(()=>{v(e=>!e)},[]),S=(0,a.useCallback)(e=>{n(e)},[]),M=(0,a.useCallback)((e,t)=>{let n=window.innerWidth/5;t.x>n?S(f.BOAT):t.x<-n?S(f.APP):S(f.SPLIT)},[S]),C=(0,a.useCallback)(()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(e=>{console.error("Fullscreen error:",e.message)})},[]),y=(0,a.useCallback)(e=>{t===f.BOAT&&S(f.APP),o(e)},[t,S]),j=(0,a.useCallback)(()=>{b?(S(f.BOAT),w(!1)):(y("settings"),w(!0))},[b,S,y]),T=(0,a.useMemo)(()=>null===t?{}:{leftPane:"transition-all duration-300 ".concat(t===f.BOAT?"w-full":t===f.APP?"hidden":"w-2/5"," bg-leftPaneBg h-full relative"),rightPane:"transition-all duration-300 ".concat(t===f.APP?"w-full":t===f.BOAT?"hidden":"w-3/5"," h-full bg-rightPaneBg p-4")},[t]);return e.current?(0,i.jsx)(c,{children:(0,i.jsx)(s.YH,{children:(0,i.jsxs)("div",{className:"h-screen flex flex-col bg-black relative",children:[(0,i.jsxs)("div",{className:"flex flex-1",children:[(0,i.jsx)("div",{className:T.leftPane,children:(0,i.jsx)(h,{})}),(0,i.jsx)(l(),{axis:"x",onDrag:M,position:{x:0,y:0},handle:".handle",bounds:"parent",children:(0,i.jsx)("div",{className:"handle w-1 bg-leftPaneBg h-full cursor-col-resize transition-all duration-200 flex items-center justify-center",children:(0,i.jsx)("div",{className:"rounded-full w-3 bg-gray-600 h-40 transition-all duration-200 hover:bg-gray-500"})})}),(0,i.jsx)("div",{className:T.rightPane,children:(0,i.jsx)(d,{view:r})})]}),(0,i.jsx)("div",{className:"w-full h-16 bg-black flex items-center justify-center",children:(0,i.jsx)(u,{setRightView:y,toggleAppMenu:x,toggleSettings:j})}),p&&(0,i.jsx)(g,{currentViewMode:t,toggleViewMode:S,handleSetRightView:y,toggleFullscreen:C,setShowAppMenu:v})]})})}):(0,i.jsx)("div",{className:"h-screen bg-black flex items-center justify-center",children:(0,i.jsx)("div",{className:"animate-pulse text-white",children:"Loading..."})})}}},function(e){e.O(0,[870,746,971,117,744],function(){return e(e.s=7343)}),_N_E=e.O()}]);
|